AWS Cognito ユーザー プールのアクセス トークンと ID トークンの有効期限を変更するかどうか、および変更する方法を説明するドキュメントが見つかりません。
ドキュメンテーションでは、デフォルトで、放出の 1 時間後に有効期限が切れると指定されています。
有効期限を変更する方法はありますか?
AWS Cognito ユーザー プールのアクセス トークンと ID トークンの有効期限を変更するかどうか、および変更する方法を説明するドキュメントが見つかりません。
ドキュメンテーションでは、デフォルトで、放出の 1 時間後に有効期限が切れると指定されています。
有効期限を変更する方法はありますか?
問題は、Cognito セッションの終了をきめ細かく制御する方法だと思います。これを行う方法があります。ただし、最初に Cognito セッション管理のしくみをおさらいしましょう。
では、Cognito セッションの長さをより適切に制御するにはどうすればよいでしょうか? 答えは、リクエストを評価する HTTP リクエスト スタックにフィルタを挿入することです。何らかの理由でユーザーをログアウトする必要がある場合は、Cognito ログアウト エンドポイントに 302 リダイレクトを発行します (そしてセッション Cookie もクリアします)。
これは、Envoy (プロキシを使用) と Spring を使用して Kubernetes で行っていることです。また、1 時間のアクセス トークンが期限切れになる前にユーザーへのアクセスを直ちに取り消すロジックを組み込むこともできます。
https://docs.aws.amazon.com/cognito/latest/developerguide/logout-endpoint.htmlを参照してください
明確化: この返信はアクセス トークンに関するものです (リフレッシュ トークンではありません)。
cognito コンソールからトークンの有効期限を設定できますGeneral Settings
/ App Clients
/ {your app}
/ Show Details
/Refresh token expiration (days)
既定では、アプリ ユーザーがユーザー プールにサインインしてから 30 日後に更新トークンの有効期限が切れます。ユーザー プール用のアプリを作成するときに、アプリの更新トークンの有効期限 (日数) を 1 ~ 3650 の任意の値に設定できます。
現在、Web クライアントの場合、1 日未満のオプションはないようです (非常に奇妙です)。
Mobile SDK を使用する場合
Mobile SDK for Android には 、ID およびアクセス トークンの最小有効期間を 0 から 30 分の値に変更するオプションがあります。AWS Mobile SDK for Android API Reference で CognitoIdentityProviderClientConfig の setRefreshThreshold() メソッドを参照してください。