私はアプリケーションでAWS Cognitoを使用してユーザーを認証しています。 AWSはJWTトークンを提供します。私の質問は、セッション管理のためにexpress-sessionを使用する必要があるか、AWS Cognitoが提供するJWTトークンが認証されたユーザーのセッション管理を担当するかどうかです。セッション管理のためのExpress-Session上のAWS Cognitoの使用
答えて
Cognito JWTトークンを使用する場合、明示的なセッションハンドラは必要ありません。
JWTトークンをクライアント側に送信し、状態の永続性を提供するWebブラウザ(ローカルストレージ、セッションストレージまたはCookie)に格納することができます(セッションはActsをセッションとして有効にし、トークン期間)。
その後のすべてのリクエストについては、承認ヘッダのJWTをエクスプレスサーバに送り返す必要があります。
これは、統合された状態管理を実装できるモバイルアプリケーションなどのWebブラウザ以外のクライアントがAPIを使用する場合のセッションよりも利点があります。
高度なセキュリティが必要なアプリケーションの場合、LocalStorageにIDトークンを格納するリスクを最小限に抑えるには、更新トークンを使用してトークン期間を小さくし、新しいトークンを生成します。
注:Cognito Hosted UIを使用する場合は、Cognito Autorization code grant flowを使用してリフレッシュトークンを取得する必要があります。
私は、JWTをWebブラウザに公開してセッションに使用すると、セッションのハイジャックのために物事を開くので危険であると主張します。私は認証とセッション管理を混同しないことを勧めます。 – galaxy
@galaxyこれは基本的に主観的な意見を追加する終わりのない話題です。私は答える前に小切手をしました。私は、私が提供した答えに向けて、そして反対に、2つの異なる参考文献(25以上を読むこと)を指摘することができます。今後の方向 - https://auth0.com/blog/cookies-vs-tokens-definitive-guide/およびhttp://cryto.net/~joepie91/blog/2016/06/13/stop-using-jwt- for-sessions /エンタープライズクライアントのアプローチを評価しなければならなかったので、セキュリティ専門家にもこのトピックに相談しました。必要に応じて私はさらに詳しい情報を共有することができます。詳細については、更新された回答を確認してください。 – Ashan
あなたのセカンドリンクは実際にはトピック上の唯一のものであり、*認証*とセッションのメンテナンスの区別を実際に理解している誰かによって書かれたものです。 Auth0のものは、認証プロセスをセッション管理と混同し、すべての問題がその混乱から来ているのが奇妙です。セッションでは、認証されているかどうかは気にしません。定義済みの状態(実際にはエンティティが認証された属性を格納できる)を継承することになっています。 – galaxy
- 1. セッション管理のためのC++ライブラリ?
- 2. jspのセッション管理のためのJava Beanとセッションの違い
- 3. AWS Cognitoセッションの確認と再開(iOS)
- 4. AWS上のKubernetes - 仮想IPの管理
- 5. iOSアプリケーションでのAWS Cognitoの使用方法の理解
- 6. リモート専用サーバ上のサイトを管理するためのバージョン管理のアドバイス
- 7. Alamofireを使用したセッション管理
- 8. keycloakを使用したセッション管理
- 9. Ehcacheを使用したWebAppセッション管理
- 10. スプリングブートを使用した認証とセッション管理の理解
- 11. AWS内でのユーザーパスワードの使用Cognito
- 12. ラムダのAWS Cognitoを.NET用に使用
- 13. AWS Cognitoを使用したAWS APIゲートウェイの呼び出し
- 14. Rawセッションでのセッション管理
- 15. AWG CognitoとAPIゲートウェイを使用したきめ細かなアクセス管理
- 16. セッション管理のanglejs
- 17. のYiiセッション管理
- 18. Tomcatのセッション管理?
- 19. Websphereのセッション管理
- 20. Android上のAWS Api GatewayとCognito - エラー401
- 21. Aws cognitoを使用した自動ログイン
- 22. RESTを使用したSpringのセッション管理
- 23. Node.jsを使用したセッションの作成と管理
- 24. バージョン管理のためのAWS CodeBuild環境変数?
- 25. は、ログ管理のためのKibanaが含まAWS Elasticsearch
- 26. のTomcat /春のセッション管理
- 27. アンドロイドのUIのセッション管理
- 28. ログイン、セッション、ユーザー管理、ログ用のモジュール
- 29. AWS Cognito - 最初のユーザーを管理者として設定する方法
- 30. セッション管理にdeviseを使用する
「認証されたユーザーのセッション管理」とはどういう意味ですか?後続のリクエストを高速化するために、認証されたアイデンティティを一時的にキャッシュしますか?または、あなたはステートフルなJWTを指していますか? – Asanka