「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
OAuth 2.0 コア仕様を補足
トークン(refresh_token, access_token)のメタデータ(JSON)を取得するメカニズム(Token Introspection)
(Token Introspection : Resource ServerがClientから受け取ったTokenのメタデータをAuthorization Serverに要求する方法)
目的 †
以下のトークンのメタデータのセットを判断する。
- 期限、無効化
- アクセス権(scope)
- 承認者(Issuer)
- 対象クライアント(audience)
ケース †
Resource Serverがトークンを受け取った際、
シーケンス †
- Resource ServerがAuthorization Serverにトークンが有効か問い合わせる。
- Authorization ServerがResource Serverにトークンが有効性を回答する。
仕様 †
- Authorization Serverに照会することを許可するプロトコルを定義。
などの構造化トークンフォーマットの使用が含まれる。
Introspection Endpoint †
- Authorization Endpointの規則と同様
- HTTP要求の平文認証情報の送信
- SSL/TLS(サーバ証明)の利用
- 自動検出など、URLを取得する手段は、この仕様の範囲外
Request †
HTTP POST要求(application/x-www-form-urlencoded)を使用して、
以下のパラメタをRevocation Endpointに送信する。
- パラメタ
- token(必須):取り消したいトークン
- token_type_hint(オプション):失効のためのトークンのタイプに関するヒント。
- access_token
- refresh_token
- 無効なトークン・タイプは無視される。
- その他、必要時応じて拡張可能
- 例
- ヘッダ
POST /introspect HTTP/1.1
Host: server.example.com
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
- ボディ
token=mF_9.B5f-4.1JqM&token_type_hint=access_token
Process †
Response †
- 成功
- パラメタ
# | パラメタ | 説明 |
1 | iss | 発行者 |
2 | token_type | トークンのタイプ |
3 | client_id | client_id |
4 | aud | Clientの可読識別子(≠client_id) |
5 | sub | Resource Ownerの機械可読識別子 |
6 | username | Resource Ownerの人間可読識別子 |
7 | exp | 有効期限 |
8 | iat | 発行日時 |
9 | nbf | Not Beforeタイムスタンプ |
10 | active | true, false |
11 | scope | スペース区切りのscopeリスト |
12 | jti | トークン識別子 |
- 例(有効)
- ヘッダ
HTTP/1.1 200 OK
Content-Type: application/json
- ボディ
{
"active": true,
"client_id": "l238j323ds-23ij4",
"username": "jdoe",
"scope": "read write dolphin",
"sub": "Z5O3upPC88QrAjx00dis",
"aud": "https://protected.example.net/resource",
"iss": "https://server.example.com/",
"exp": 1419356238,
"iat": 1419350238,
"extension_field": "twenty-seven"
}
- 例(無効)
- 失敗
- ケース
- レスポンス
- HTTP 401 (Unauthorized)
- OAuth 2.0 のError Responseのエラーコードを返す。
実装 †
参考 †
Tags: :IT国際標準, :認証基盤, :クレームベース認証, :OAuth