この記事で解決できる悩み
いずみ
こんな悩みを解決できる記事を書きました!
僕は現役フリーランスエンジニア(歴9年)で、資格は13個保有しています。
Cognitoのセッションタイムアウトって分かりにくいですよね…
情報が少ないので理解するのにかなり苦労しました…
本記事を読めば、AWS Cognitoのセッションタイムアウトについて理解できるので早速見ていきましょう!
すぐ読み終わるので、ぜひ最後まで読んでくださいね♪
目次
Cognitoのトークンは3種類
Cognitoのトークンは主に3種類です。
スクロールできます
トークン | 説明 |
---|---|
IDトークン(ID Token) | Cognito User Poolsのユーザー属性(例えばメールアドレスなど)を含めたトークン。 ※ユーザー情報の取得に使用。 |
アクセストークン(AccessToken) | Cognito User Poolsの最低限のユーザー情報を含めたトークン。 |
更新トークン(Refresh Token) | IDトークンおよびアクセストークンを更新するためのトークン。 ※Cognito User PoolsのクライアントSDKを利用している場合は自動で更新される。 |
Cognitoトークンの有効期限
各トークンの有効期限は以下の通りです。
スクロールできます
トークン | 説明 |
---|---|
IDトークン(ID Token) | ユーザーが認証した1時間後に有効期限切れとなる。 |
アクセストークン(AccessToken) | ユーザーが認証に成功した1時間後に有効期限切れとなる。 |
更新トークン(Refresh Token) | 更新トークンは、ユーザーがユーザープールにサインインしてから30日後に有効期限切れとなる。 ※更新トークンの有効期限は1~3650(日)に変更可能。 |
セッションタイムアウトについて
結論、更新トークンが有効期限切れになった場合にセッションは切れます(クライアントSDKを使用している場合)。
ユーザ認証に使用するIDトークンは1時間で有効期限が切れますが、クライアントSDKを使用している場合は更新トークンによってIDトークンが自動更新されます。
つまり、「更新トークンが有効期限切れ=Cognitoのセッションタイムアウト」となります。
ややこしいですね…
まとめ
今回は、AWS Cognitoのセッションタイムアウトについて解説しました。
以下が本記事のまとめになります。
最後までお読みいただき、ありがとうございました!
- クソおすすめ本
海外のエンジニアがどういった思考で働いているかが理解できます。
海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。