OAuth 2.0 Token Introspection
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>OAuth 2.0 拡張]]
--OAuth 2.0 Token Introspection
--[[OAuth 2.0 Token Revocation]]
* 目次 [#rfe8abc9]
#contents
*概要 [#db4237a9]
[[OAuth]] 2.0 コア仕様を補足
トークン(refresh_token, access_token)のメタデータ(JSON...
(Token Introspection : Resource ServerがClientから受け取...
**目的 [#r1c2965c]
以下のトークンのメタデータのセットを判断する。
-期限、無効化
-アクセス権(scope)
-承認者(Issuer)
-対象クライアント(audience)
**ケース [#x50e8cdf]
Resource Serverがトークンを受け取った際、~
**シーケンス [#heb04ca7]
-Resource ServerがAuthorization Serverにトークンが有効か...
-Authorization ServerがResource Serverにトークンが有効性...
*仕様 [#f2899592]
-Authorization Serverに照会することを許可するプロトコルを...
-メタデータを取得するメカニズムには、
--[[SAML]], [[JWT]]
--独自のサービス間通信メカニズム
>などの構造化トークンフォーマットの使用が含まれる。
**Introspection Endpoint [#bdbc2f04]
-Authorization Endpointの規則と同様
--HTTP要求の平文認証情報の送信
--SSL/TLS(サーバ証明)の利用
-自動検出など、URLを取得する手段は、この仕様の範囲外
***Request [#m3ad291c]
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 [#q9f84581]
-クライアント認証
-トークン検証
***Response [#oc1de99e]
-application / json
-成功
--パラメタ
|#|パラメタ|説明|h
|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/1.1 200 OK
Content-Type: application/json
---ボディ
{
"active": false
}
-失敗
--ケース
---クライアント認証に失敗
---トークン検証に失敗
--レスポンス
---HTTP 401 (Unauthorized)
---[[OAuth]] 2.0 のError Responseのエラーコードを返す。
*実装 [#l5787600]
-特に問題なく実装できる。
-取り消しについては、[[OAuth 2.0 Token Revocation]]を参考...
*参考 [#t88656a7]
-RFC 7662 - OAuth 2.0 Token Introspection~
https://tools.ietf.org/html/rfc7662
-OAuth2.0の備忘録的まとめ - Ari-Press~
http://www.ari-hiro.com/blog/2012/12/30/oauth2-summary
--Manually Build a Login Flow - Facebook Login~
https://developers.facebook.com/docs/facebook-login/manua...
-RFC7662として発行されたOAuth Token Introspectionとは - r...
http://d.hatena.ne.jp/ritou/20151021/1445438454
**[[OAuth 2.0 Token Revocation]] [#vcc8a4db]
----
Tags: [[:IT国際標準]], [[:認証基盤]], [[:クレームベース認...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>OAuth 2.0 拡張]]
--OAuth 2.0 Token Introspection
--[[OAuth 2.0 Token Revocation]]
* 目次 [#rfe8abc9]
#contents
*概要 [#db4237a9]
[[OAuth]] 2.0 コア仕様を補足
トークン(refresh_token, access_token)のメタデータ(JSON...
(Token Introspection : Resource ServerがClientから受け取...
**目的 [#r1c2965c]
以下のトークンのメタデータのセットを判断する。
-期限、無効化
-アクセス権(scope)
-承認者(Issuer)
-対象クライアント(audience)
**ケース [#x50e8cdf]
Resource Serverがトークンを受け取った際、~
**シーケンス [#heb04ca7]
-Resource ServerがAuthorization Serverにトークンが有効か...
-Authorization ServerがResource Serverにトークンが有効性...
*仕様 [#f2899592]
-Authorization Serverに照会することを許可するプロトコルを...
-メタデータを取得するメカニズムには、
--[[SAML]], [[JWT]]
--独自のサービス間通信メカニズム
>などの構造化トークンフォーマットの使用が含まれる。
**Introspection Endpoint [#bdbc2f04]
-Authorization Endpointの規則と同様
--HTTP要求の平文認証情報の送信
--SSL/TLS(サーバ証明)の利用
-自動検出など、URLを取得する手段は、この仕様の範囲外
***Request [#m3ad291c]
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 [#q9f84581]
-クライアント認証
-トークン検証
***Response [#oc1de99e]
-application / json
-成功
--パラメタ
|#|パラメタ|説明|h
|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/1.1 200 OK
Content-Type: application/json
---ボディ
{
"active": false
}
-失敗
--ケース
---クライアント認証に失敗
---トークン検証に失敗
--レスポンス
---HTTP 401 (Unauthorized)
---[[OAuth]] 2.0 のError Responseのエラーコードを返す。
*実装 [#l5787600]
-特に問題なく実装できる。
-取り消しについては、[[OAuth 2.0 Token Revocation]]を参考...
*参考 [#t88656a7]
-RFC 7662 - OAuth 2.0 Token Introspection~
https://tools.ietf.org/html/rfc7662
-OAuth2.0の備忘録的まとめ - Ari-Press~
http://www.ari-hiro.com/blog/2012/12/30/oauth2-summary
--Manually Build a Login Flow - Facebook Login~
https://developers.facebook.com/docs/facebook-login/manua...
-RFC7662として発行されたOAuth Token Introspectionとは - r...
http://d.hatena.ne.jp/ritou/20151021/1445438454
**[[OAuth 2.0 Token Revocation]] [#vcc8a4db]
----
Tags: [[:IT国際標準]], [[:認証基盤]], [[:クレームベース認...
ページ名: