アクセストークンの有効期限は短く
ログイン認証を作るうえで、アクセストークンの有効期限は短い方がいい、という情報を得た。
アクセストークンが盗まれた時に、備えてのことらしい。
例えば15分とか、って例で書かれていた。
そうすると15分ごとにログインをし直させなければならない。
それはユーザビリティ的にどうなのだろうか。という疑問が生まれた。
それを解決するのがリフレッシュトークンらしい。
アクセストークンとリフレッシュトークン
リフレッシュトークンはアクセストークンを再発行するために必要になる。
例えば、ログインをしアクセストークンを取得する。
15分後、アクセストークンが切れた場合はリフレッシュトークンを使用し、アクセストークンを再発行する。
その際、リフレッシュトークンも最新化する。
これで15分ごとにユーザーがログインし直すという苦痛から解放することができる。
アクセストークンは危険で、リフレッシュトークンは安全なの?
アクセストークンもリフレッシュトークンも一緒に得ることができ、同じように保存をしておく必要がある。
それなのにどうしてアクセストークンは危険で、リフレッシュトークンは安全なのだろうか。
ってずっと疑問だったけど、社内の博士に聞き解決した。
確率の問題
アクセストークン、リフレッシュトークンが盗まれるのは通信中である。
通信にアクセストークンを持たせて、15分間、何回通信をするだろうか。
それに比べてリフレッシュトークンはアクセストークンが失われた時にしか使用されないので、リフレッシュトークンに比べて安全だと言える。
ということ。