私はAngularシングルページアプリケーションを作成しています.OAUTH 2.0でJWT(JSON Webトークン)を使用したいと考えています。私はベストプラクティスを読んでいて、OAuth 0の記事を見つけました。それはそれを助けるべきですhttps://auth0.com/docs/api-auth/which-oauth-flow-to-use。SPAとリフレッシュトークン
私のアプリは、ユーザーにログインして60日間ログオンできるようにする必要があります。ブラウザに60日間アクセストークンを保存することはあまり安全ではなく、短命にすることをお勧めします。だから私はRefresh Tokenを使って、HttpOnly Secure Cookieに保存してクライアントサイドのJavascriptからの読み込みを許可しないようにしていましたが、このauth0の記事では、これは非常に安全ではないとSPAはリフレッシュトークンを使用すべきではないと言います。方法?私のauth APIコード交換エンドポイントがJSONレスポンスでaccess_tokenを返すが、HttpOnlyクッキーでrefresh_tokenを返すとどうなるでしょうか?この方法では、認証バックエンドAPIに格納されるため、システムの秘密鍵を公開する必要はありません。
誰かがさらに情報を提供して、HttpOnly Secure Cookieに更新トークンを保存するのが安全かどうかを伝えることができますか?
しかし、私のコード交換エンドポイントがJSONレスポンスでアクセストークンを返しても、HttpOnlyクッキーのトークンを更新するとどうなりますか?バックエンド認証APIに格納されているので、システムパスワードを公開する必要はありません。 –
安全なCookieレスポンスにリフレッシュトークンを設定するために、APIゲートウェイなどを使用しているようです。 httpのみのクッキーにRTを格納することは、セキュリティの観点から安全です。しかし、RTを使用してJSONレスポンスでATを取得し、他のセキュリティを使用していない場合は、実装がCSRF攻撃を受けやすいと思う。 – ManishSingh
私はあなたのOpenIDについての記事を読んでいます。はい、いくつかのプロキシAPIを使用して、バックエンドにすべての秘密鍵を保存しています。 –