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で定期的に掃除するだけです。