存在意義がわからなかったので、調べてみた。
リフレッシュ・トークン - IBM Documentation
これが一番わかりやすいと思った。
- アクセストークンは頻繁にネットワーク上を流れるから、有効期限を短くする。
- リフレッシュトークンは、アクセストークンが切れた時しかネットワーク上を流れないので、有効期限が長くても良い。
- ワンタイムで破棄するとより安全。
存在理由は腑に落ちたけど、作り方とか持たせる情報がイマイチわからない。
普通にJWT作るときと同じで良さそうだけど、ワンタイムにするためには発行側のDBとかに識別するためのIDを持たせておくとかちょっと面倒そう。