なったらしいので紹介します。
- http://www.ietf.org/mail-archive/web/oauth/current/msg11261.html
- http://tools.ietf.org/html/draft-ietf-oauth-revocation-07
概要
- Client側からOAuth 2.0で発行されたAccess TokenやRefresh Tokenを無効化するためのリクエスト/レスポンスを定義
- CORSサポート
- AuthZ Serverの実装によって、Authorization Grantに紐づくセッションなどを一緒に落とすとかも可能(だけど細かくは書いてない)
無効化用APIを出してもClient開発者はあまり積極的に使おうとはしないかもしれませんが、連係解除時/ログアウト時/サービス退会時にClientから勝手にToken無効化してくれたら親切で健全で平和な感じで良いと思います。
リクエスト
下記のようなPOSTリクエストを送ります。
POST /revoke HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JWtoken=45ghiukldjahdnhzdauz&token_type_hint=refresh_token
- Client Authenticationが必要(MUST?かどうかわからないけどしれっと書いてある。public clientについては・・・)
- tokenに無効化したい対象を指定(MUST)
- token_type_hintにtokenの種類を指定(OPTIONAL)。これの拡張はOAuth Token Type Hint Registryにて管理
レスポンス
成功したときは200返す。
CORSサポート
https://example.com/revoke?token=agabcdefddddafdd&
callback=package.myCallback
Successful response:
package.myCallback();
Error response:
package.myCallback({"error":"unsupported_token_type"});
これぐらいの仕様ですが、どこが最初に実装するのでしょうかねぇ。
ではまた!