「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
Self-Issued OpenID Provider Responses
http://openid.net/specs/openid-connect-core-1_0.html#SelfIssued
OpenID Connect Self-issued OP(SIOP)は、
端末上で動作して、IDトークンを発行することで、
を実現する機能を提供すると言える。
以下の 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 ドメインを含んでいた場合.
以下の Client Registration Response を得たかのように振る舞う。
以下のRedirectレスポンスから認可リクエスト。
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%2Fclient.example.org%2Flogo.png%22%7D
※ 全体 URL 長は ASCII で 2048 文字を超えてはならない (MUST NOT).
通常のImplicit Flowと同じ。
通常のImplicit Flowとの差異
{
"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": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM78LhWx
4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tSoc_BJECPebWKRXjBZCiFV4n3oknjhMs
tn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt7_RN5w6Cf0h4QyQ5v-65YGjQR0_FDW2
QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbI
SD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqb
w0Ls1jF44-csFCur-kEgU8awapJzKnqDKgw",
"e":"AQAB"
}
}
この仕組み をどう応用していくか?がポイントになる。
OAuth PKCEと併用(というよりOAuth PKCEでSIOPを併用して強化するイメージ)
Tags: :IT国際標準, :認証基盤, :クレームベース認証, :OAuth