OAuth2 Token Revocationの仕様
TokenのRevocationについては、おなじみのAuthorization (RFC6749) とは別のドキュメントで仕様が策定されているので注意が必要。 リフレッシュトークンの無効化はMUST
アクセストークンの無効化はSHOULD
Access TokenはJWTのような署名検証型のTokenを使うケースが増えてきていると思われるが、JWTをデータベース管理するケースは少ないと思われるため、Revoke機能を用意しない場合も多いだろう。
注意すべき点としては、
Client Credentialsによる認証が必要
存在しないTokenのRevokeリクエストの場合も200をレスポンスする
POSTを利用する (例 POST /revoke)
Token発行 Endpointと同様に、Content Typeは application/x-www-form-urlencoded を利用する
Revoke対象のTokenが Refresh Token なのか Access Token なのかを区別するために、 token_type_hint というパラメータを利用する
OAuth2の仕様で気に入らない点がしっかりと踏襲されていて嫌になるが、これが現実。