LoginSignup
0

More than 5 years have passed since last update.

FOSOAuthServerBundle利用時、期限切れトークンを削除するタイミングについて

Posted at

FOSOAuthServerBundleを使用していると、
気づいたときには期限が切れたトークンがDBに溜まっています。

この溜まったトークンをどうするのか、
消せばいいんだけれどどのように消すのがスマートなのか、
どのタイミングで消せばいいのかわからなかったので調べてみました。

ここのページが多いに参考になりました。
https://github.com/FriendsOfSymfony/FOSOAuthServerBundle/issues/236

上記を意訳すると、
ログアウトしたタイミングではサーバのトークンを削除するのではなく、
クライアントのcookieに保存してあるトークンを破棄し、
サーバ側のトークンはcronを使って定期的に期限が切れたトークンを削除するのがよい、
とありました。

そして以下のコマンドを実行すれば期限切れのトークンを一括で削除してくれます。

$ php app/console fos:oauth-server:clean
Removed 72 items from Access token storage.
Removed 0 items from Refresh token storage.
Removed 0 items from Auth code storage.

ログアウトのAPI作成し忘れた!と気づいてログアウトについて調査しましたが、
FOSOAuthServerBundleを利用した場合のログアウトは上記のやり方がよさそうです。
つまり、アプリ側に任せてサーバ側はcronで定期的に掃除するだけです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0