OpenID Connect - Self-Issued OP
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>OpenID Connect]]
* 目次 [#id1b4e21]
#contents
*概要 [#m08d530a]
Finalを参照して記述。
-IdP/STS(OP)は、[[SIOP>#r2b2ef68]]として動作する。
-[[Implicit Flow>OpenID Connect#e7adf5c2]]で自己署名の[[I...
-以下が、通常の[[Implicit Flow>OpenID Connect#e7adf5c2]]...
--[[認可リクエスト>#q1b6f89c]]
--[[IDトークン>#a7b29a9b]]
*詳細 [#h3256440]
**SIOP [#r2b2ef68]
***機能 [#dd18bd4c]
OpenID Connect Self-issued OP(SIOP)は、~
端末上で動作して、[[IDトークン>OpenID Connect#ofb73c59]]...
-SIOPが動作する端末自体の識別(端末認証)
-安全な端末情報の受け渡し(改ざんを検出可能)。
を実現する機能を提供すると言える。
***Discovery [#b9068246]
以下の Dynamic Discovery を得たかのように振る舞う。
{
"authorization_endpoint":
"openid:",
"issuer":
"https://self-issued.me",
"scopes_supported":
["openid", "profile", "email", "address", "phone"],
"response_types_supported":
["id_token"],
"subject_types_supported":
["pairwise"],
"id_token_signing_alg_values_supported":
["RS256"],
"request_object_signing_alg_values_supported":
["none", "RS256"]
}
※ Discovery Process で入力された識別子が self-issued.me ...
***Registration [#qeefd9f2]
以下の Client Registration Response を得たかのように振る...
-client_id: Client の redirect_uri 値.
-client_secret_expires_at : 0
**認可リクエスト & レスポンス [#icd39848]
***認可リクエストの例 [#q1b6f89c]
以下のRedirectレスポンスから認可リクエスト。
-Authorization Endpoint~
カスタムURLスキーム(openid://)
-パラメタ
--REQUIRED
---scope="* openid *"
---response_type="id_token"
---client_id は redirect_uri の値
--OPTIONAL
---claims
---request
---registration ★
---id_token_hint ★
---他のパラメータも送ってもよい
HTTP/1.1 302 Found
Location: openid://?
response_type=id_token
&client_id=https%3A%2F%2Fclient.example.org%2Fcb
&scope=openid%20profile
&state=af0ifjsldkj
&nonce=n-0S6_WzA2Mj
®istration=%7B%22logo_uri%22%3A%22https%3A%2F%2Fcl...
※ 全体 URL 長は ASCII で 2048 文字を超えてはならない (MUS...
***認可レスポンスの例 [#b9d085e5]
通常の[[Implicit Flow>OpenID Connect#e7adf5c2]]と同じ。
**[[IDトークン>OpenID Connect#ofb73c59]] [#a7b29a9b]
***差異 [#oc9e7f00]
通常の[[Implicit Flow>OpenID Connect#e7adf5c2]]との差異
-iss~
「https://self-issued.me」固定
-sub~
sub_jwkの&color(red){公開鍵};の拇印のBase64urlエンコード...
-sub_jwk
--[[SIOP>#r2b2ef68]]が発行する[[IDトークン>OpenID Connect...
--[[IDトークン>OpenID Connect#ofb73c59]]自身の署名検証に...
***例 [#w6969438]
{
"iss": "https://self-issued.me",
"sub": "wBy8QvHbPzUnL0x63h13QqvUYcOur1X0cbQpPVRqX5k",
"aud": "https://client.example.org/cb",
"nonce": "n-0S6_WzA2Mj",
"exp": 1311281970,
"iat": 1311280970,
"sub_jwk": {
"kty":"RSA",
"n": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM7...
4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tSoc_BJECPebWKRXjBZCi...
tn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt7_RN5w6Cf0h4QyQ5v-6...
QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5haj...
SD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINH...
w0Ls1jF44-csFCur-kEgU8awapJzKnqDKgw",
"e":"AQAB"
}
}
*応用 [#caf9a119]
この仕組み をどう応用していくか?がポイントになる。
**Recruit ID [#nda5de0e]
[[OAuth PKCE]]と併用(というより[[OAuth PKCE]]で[[SIOP>#r...
-Recruit IDは、OP(IdP/STS)だが、Self-Issued OP(オプシ...
-Public Clientで認証する際に、Client Credentialを持てない...
(sub = 証明書の拇印の値をRecruit IDのアカウントとの紐付...
-なお、秘密鍵は、Shared KeyChain(iOSの証明書ストアらしい...
**・・・ [#x7c0f475]
*参考 [#ic398767]
-Final: OpenID Connect Core 1.0 incorporating errata set ...
http://openid.net/specs/openid-connect-core-1_0.html#Self...
-OpenID Connect Self-Issued IdPを応用したSingle Sign Onの...
https://speakerdeck.com/rtechkouhou/openid-connect-self-i...
**Qiita [#xaa07c7f]
-OpenID Connecr Self-Issued OP(IdP) の仕様と応用~
https://qiita.com/ritou/items/a9649bd76ccd7aa50d90
-OpenID Connect Self-issued OP概要 ~OpenID Technight #15...
https://qiita.com/SAM-l/items/93b56c6061cfbb6653ec
----
Tags: [[:IT国際標準]], [[:認証基盤]], [[:クレームベース認...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>OpenID Connect]]
* 目次 [#id1b4e21]
#contents
*概要 [#m08d530a]
Finalを参照して記述。
-IdP/STS(OP)は、[[SIOP>#r2b2ef68]]として動作する。
-[[Implicit Flow>OpenID Connect#e7adf5c2]]で自己署名の[[I...
-以下が、通常の[[Implicit Flow>OpenID Connect#e7adf5c2]]...
--[[認可リクエスト>#q1b6f89c]]
--[[IDトークン>#a7b29a9b]]
*詳細 [#h3256440]
**SIOP [#r2b2ef68]
***機能 [#dd18bd4c]
OpenID Connect Self-issued OP(SIOP)は、~
端末上で動作して、[[IDトークン>OpenID Connect#ofb73c59]]...
-SIOPが動作する端末自体の識別(端末認証)
-安全な端末情報の受け渡し(改ざんを検出可能)。
を実現する機能を提供すると言える。
***Discovery [#b9068246]
以下の Dynamic Discovery を得たかのように振る舞う。
{
"authorization_endpoint":
"openid:",
"issuer":
"https://self-issued.me",
"scopes_supported":
["openid", "profile", "email", "address", "phone"],
"response_types_supported":
["id_token"],
"subject_types_supported":
["pairwise"],
"id_token_signing_alg_values_supported":
["RS256"],
"request_object_signing_alg_values_supported":
["none", "RS256"]
}
※ Discovery Process で入力された識別子が self-issued.me ...
***Registration [#qeefd9f2]
以下の Client Registration Response を得たかのように振る...
-client_id: Client の redirect_uri 値.
-client_secret_expires_at : 0
**認可リクエスト & レスポンス [#icd39848]
***認可リクエストの例 [#q1b6f89c]
以下のRedirectレスポンスから認可リクエスト。
-Authorization Endpoint~
カスタムURLスキーム(openid://)
-パラメタ
--REQUIRED
---scope="* openid *"
---response_type="id_token"
---client_id は redirect_uri の値
--OPTIONAL
---claims
---request
---registration ★
---id_token_hint ★
---他のパラメータも送ってもよい
HTTP/1.1 302 Found
Location: openid://?
response_type=id_token
&client_id=https%3A%2F%2Fclient.example.org%2Fcb
&scope=openid%20profile
&state=af0ifjsldkj
&nonce=n-0S6_WzA2Mj
®istration=%7B%22logo_uri%22%3A%22https%3A%2F%2Fcl...
※ 全体 URL 長は ASCII で 2048 文字を超えてはならない (MUS...
***認可レスポンスの例 [#b9d085e5]
通常の[[Implicit Flow>OpenID Connect#e7adf5c2]]と同じ。
**[[IDトークン>OpenID Connect#ofb73c59]] [#a7b29a9b]
***差異 [#oc9e7f00]
通常の[[Implicit Flow>OpenID Connect#e7adf5c2]]との差異
-iss~
「https://self-issued.me」固定
-sub~
sub_jwkの&color(red){公開鍵};の拇印のBase64urlエンコード...
-sub_jwk
--[[SIOP>#r2b2ef68]]が発行する[[IDトークン>OpenID Connect...
--[[IDトークン>OpenID Connect#ofb73c59]]自身の署名検証に...
***例 [#w6969438]
{
"iss": "https://self-issued.me",
"sub": "wBy8QvHbPzUnL0x63h13QqvUYcOur1X0cbQpPVRqX5k",
"aud": "https://client.example.org/cb",
"nonce": "n-0S6_WzA2Mj",
"exp": 1311281970,
"iat": 1311280970,
"sub_jwk": {
"kty":"RSA",
"n": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM7...
4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tSoc_BJECPebWKRXjBZCi...
tn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt7_RN5w6Cf0h4QyQ5v-6...
QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5haj...
SD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINH...
w0Ls1jF44-csFCur-kEgU8awapJzKnqDKgw",
"e":"AQAB"
}
}
*応用 [#caf9a119]
この仕組み をどう応用していくか?がポイントになる。
**Recruit ID [#nda5de0e]
[[OAuth PKCE]]と併用(というより[[OAuth PKCE]]で[[SIOP>#r...
-Recruit IDは、OP(IdP/STS)だが、Self-Issued OP(オプシ...
-Public Clientで認証する際に、Client Credentialを持てない...
(sub = 証明書の拇印の値をRecruit IDのアカウントとの紐付...
-なお、秘密鍵は、Shared KeyChain(iOSの証明書ストアらしい...
**・・・ [#x7c0f475]
*参考 [#ic398767]
-Final: OpenID Connect Core 1.0 incorporating errata set ...
http://openid.net/specs/openid-connect-core-1_0.html#Self...
-OpenID Connect Self-Issued IdPを応用したSingle Sign Onの...
https://speakerdeck.com/rtechkouhou/openid-connect-self-i...
**Qiita [#xaa07c7f]
-OpenID Connecr Self-Issued OP(IdP) の仕様と応用~
https://qiita.com/ritou/items/a9649bd76ccd7aa50d90
-OpenID Connect Self-issued OP概要 ~OpenID Technight #15...
https://qiita.com/SAM-l/items/93b56c6061cfbb6653ec
----
Tags: [[:IT国際標準]], [[:認証基盤]], [[:クレームベース認...
ページ名: