アクセストークンの有効期限は短く

ログイン認証を作るうえで、アクセストークンの有効期限は短い方がいい、という情報を得た。

アクセストークンが盗まれた時に、備えてのことらしい。

例えば15分とか、って例で書かれていた。

そうすると15分ごとにログインをし直させなければならない。

それはユーザビリティ的にどうなのだろうか。という疑問が生まれた。

それを解決するのがリフレッシュトークンらしい。

アクセストークンとリフレッシュトークン

リフレッシュトークンはアクセストークンを再発行するために必要になる。

例えば、ログインをしアクセストークンを取得する。

15分後、アクセストークンが切れた場合はリフレッシュトークンを使用し、アクセストークンを再発行する。

その際、リフレッシュトークンも最新化する。

これで15分ごとにユーザーがログインし直すという苦痛から解放することができる。

アクセストークンは危険で、リフレッシュトークンは安全なの?

アクセストークンもリフレッシュトークンも一緒に得ることができ、同じように保存をしておく必要がある。

それなのにどうしてアクセストークンは危険で、リフレッシュトークンは安全なのだろうか。

ってずっと疑問だったけど、社内の博士に聞き解決した。

確率の問題

アクセストークン、リフレッシュトークンが盗まれるのは通信中である。

通信にアクセストークンを持たせて、15分間、何回通信をするだろうか。

それに比べてリフレッシュトークンはアクセストークンが失われた時にしか使用されないので、リフレッシュトークンに比べて安全だと言える。

ということ。