Open1

Auth.js(next-auth5)でのrefresh token rotationがうまくいかない

atnuhsatnuhs

Spotify APIを使っていて、リフレッシュトークンを使ってアクセストークンを更新しようとしたときに、更新はできたが、エラーが出る。

原因?

  • middlewareでトークンの更新をしているために、更新するエンドポイントに何回もリクエストが飛んでしまうから
    • 同じリフレッシュトークンを短時間に何回も使うと、invalid_grantエラーが返ってくる

解決策

  • 何回もリクエストが飛ばないように、何かしらロックさせる機構を実装する
    • 何個か試したが、失敗した。

参考

おそらく同じような状況
https://github.com/nextauthjs/next-auth/discussions/11317
公式ドキュメントが出してるアクセストークンの更新方法
https://authjs.dev/guides/refresh-token-rotation
誰か解決策が分かる人おしえてください🙇‍♂️