66

AWS Cognito ユーザー プールのアクセス トークンと ID トークンの有効期限を変更するかどうか、および変更する方法を説明するドキュメントが見つかりません。

ドキュメンテーションでは、デフォルトで、放出の 1 時間後に有効期限が切れると指定されています。

有効期限を変更する方法はありますか?

4

6 に答える 6

6

問題は、Cognito セッションの終了をきめ細かく制御する方法だと思います。これを行う方法があります。ただし、最初に Cognito セッション管理のしくみをおさらいしましょう。

  1. 認証トークンは 1 時間後に期限切れになります。
  2. リフレッシュ トークンの発行時に、新しい認証トークンが要求される場合があります。
  3. 1 ~ 30 日後、Cognito は更新トークンを発行しません。日数はアプリ クライアント設定でアプリごとに構成されます。

では、Cognito セッションの長さをより適切に制御するにはどうすればよいでしょうか? 答えは、リクエストを評価する HTTP リクエスト スタックにフィルタを挿入することです。何らかの理由でユーザーをログアウトする必要がある場合は、Cognito ログアウト エンドポイントに 302 リダイレクトを発行します (そしてセッション Cookie もクリアします)。

これは、Envoy (プロキシを使用) と Spring を使用して Kubernetes で行っていることです。また、1 時間のアクセス トークンが期限切れになる前にユーザーへのアクセスを直ちに取り消すロジックを組み込むこともできます。

https://docs.aws.amazon.com/cognito/latest/developerguide/logout-endpoint.htmlを参照してください

于 2019-09-29T21:42:08.293 に答える
6

明確化: この返信はアクセス トークンに関するものです (リフレッシュ トークンではありません)。

cognito コンソールからトークンの有効期限を設定できますGeneral Settings/ App Clients/ {your app}/ Show Details/Refresh token expiration (days)

https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html

既定では、アプリ ユーザーがユーザー プールにサインインしてから 30 日後に更新トークンの有効期限が切れます。ユーザー プール用のアプリを作成するときに、アプリの更新トークンの有効期限 (日数) を 1 ~ 3650 の任意の値に設定できます。

現在、Web クライアントの場合、1 日未満のオプションはないようです (非常に奇妙です)。

Mobile SDK を使用する場合

https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html

Mobile SDK for Android には 、ID およびアクセス トークンの最小有効期間を 0 から 30 分の値に変更するオプションがあります。AWS Mobile SDK for Android API Reference で CognitoIdentityProviderClientConfig の setRefreshThreshold() メソッドを参照してください。

于 2019-03-15T05:10:13.823 に答える