Single Page Application (SPA) から呼び出すバックエンドAPIの認証トークンの管理方法について、Web上の文献やライブラリの実装を調査して、自分の考えを整理した。 前提 本記事はSPAにおいてバックエンド認証に使うトークンの管理方法(典型的にはLocal Storageに保管してよいか?Cookieを使うべきか?など)についての考察となる。認証トークンの仕組み(ステートフル vs ステートレス)については言及していない。 ブラウザにはAndroidのKeyStoreのような仕組み(暗号化され、取得時に端末の認証が必要となるストレージ)がないという批判があるが、これも考慮から外している。(つまり、システム管理者やPCの共同利用者がCookie/Local Storageを参照して…というリスクについては考えていない。) 考察 まず、そもそもの原因となるXSS脆弱性