OP、RPメモ
①openid.server、openid2.provider
<説明>
OPエンドポイントURLのリンク関係。もしOP が OpenID Authentication 1.1 と OpenID Authentication 2.0 の両方に対応していれば、同一の "rel" 属性に "openid2.provider" と "openid.server" の両方が記述されている可能性がある。
"rel" 属性が "openid2.provider" 、"href" 属性が OP エンドポイント URL に設定された LINK エレメントを含まなければならない (MUST)。
HTML ベースのディスカバリを実行したとき、OP エンドポイント URL のリンク関係は、"openid2.provider" よりも"openid.server" が優先して指し示される。
<該当箇所>
<link rel="openid2.provider openid.server" href="http://openid-op.openid.net/openid-php-openid/examples/server/server.php"/>
②openid.assoc_handle
<説明>
(オプション) RP と OP の間のアソシエーションハンドル。応答に署名するために用いるべきである (SHOULD)。
<該当箇所(必要部分のみ抜粋)>
location: http://openid-rp.openid.net:80/openid-php-openid/examples/consumer/finish_auth.php?
openid.assoc_handlee=%7BHMAC-SHA1%7D%7B4f777897%7D%7BVE7MSQ%3D%3D%7D
③openid.claimed_id
<説明>
(オプション) 主張識別子。
"openid.claimed_id" と "openid.identity" については、両方がともに存在するか、ともに存在しないかのいずれかとする (SHALL)。
<該当箇所(必要部分のみ抜粋)>
location: http://openid-rp.openid.net:80/openid-php-openid/examples/consumer/finish_auth.php?
openid.claimed_id=http%3A%2F%2Fopenid-op.openid.net%2Fopenid-php-openid%2Fexamples%2Fserver%2Fserver.php%2Fidpage%3Fuser%3Dsatou
④openid_identifier
<説明>
ディスカバリに関して、OpenID 認証を開始するに当り、RP は、ユーザ入力識別子の入力フォームをエンドユーザに提示すべきである (SHOULD)。
フォームが OpenID フォームであることが自動的に判断できるように、フォームフィールドの "name" 属性値は、"openid_identifier" であるべきである (SHOULD)。
<該当箇所(必要部分のみ抜粋)>
Referer: http://openid-rp.openid.net/openid-php-openid/examples/consumer/try_auth.php
openid_identifier=http%3A%2F%2Fopenid-op.openid.net%2Fopenid-php-openid%2Fexamples%2Fserver%2Fserver.php%2Fidpage%3Fuser%3Dsatou
⑤openid.identity
<説明>
(オプション) OP ローカル識別子。
openid.identity の値に異なる OP ローカル識別子 が指定されていない場合は、その値として主張識別子を用いなければならない (MUST)。
<該当箇所(必要部分のみ抜粋)>
location: http://openid-rp.openid.net:80/openid-php-openid/examples/consumer/finish_auth.php?
openid.identity=http%3A%2F%2Fopenid-op.openid.net%2Fopenid-php-openid%2Fexamples%2Fserver%2Fserver.php%2Fidpage%3Fuser%3Dsatou
⑥openid.mode
<説明>
メッセージタイプごとに個別に指定。
"openid.mode" パラメータを用いることによって、メッセージ受信者は、処理中のメッセージの種類を知ることができる。
<該当箇所(必要部分のみ抜粋)>
location: http://openid-rp.openid.net:80/openid-php-openid/examples/consumer/finish_auth.php?
openid.mode=id_res
★肯定アサーション
⑦openid.ns
<説明>
"http://specs.openid.net/auth/2.0"。要求が OpenID Authentication 2.0 として有効な要求であるためには、上記の値が存在していなければならない (MUST)。
<該当箇所(必要部分のみ抜粋)>
location: http://openid-rp.openid.net:80/openid-php-openid/examples/consumer/finish_auth.php?
openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0
⑧openid.ns.sreg、openid.sreg.xx
<説明>
★拡張仕様
・頭に "openid.ns." を付加したキーを追加するとともに、値がサービスタイプ URI のエイリアステキストを後ろに追加することによって、エイリアスを確定する。
・エイリアスが確定すると、メッセージの中のペアのうち、"openid." で始まり、その後にエイリアステキストが続き、さらにその後ろにピリオドもしくはキーの末尾が続くようなキーを有するペアは全て、拡張仕様と関連づけられる
・同じメッセージの中で、ある名前空間にひとつ以上のエイリアスを割り当ててはならない (MUST NOT)。
メッセージが他のメッセージへの応答の場合、その応答は、同じ名前空間を参照するのに異なるエイリアスを用いてもよい (MAY)。
<該当箇所(必要部分のみ抜粋)>
location: http://openid-rp.openid.net:80/openid-php-openid/examples/consumer/finish_auth.php?
openid.ns.sreg=http%3A%2F%2Fopenid.net%2Fextensions%2Fsreg%2F1.1
openid.sreg.email=invalid%40example.com
openid.sreg.fullname=Example+User
openid.sreg.nickname=example
⑨openid.op_endpoint
<説明>
OP エンドポイント (Endpoint) URL。
<該当箇所(必要部分のみ抜粋)>
location: http://openid-rp.openid.net:80/openid-php-openid/examples/consumer/finish_auth.php?
openid.op_endpoint=http%3A%2F%2Fopenid-op.openid.net%2Fopenid-php-openid%2Fexamples%2Fserver%2Fserver.php
⑩openid.response_nonce
<説明>
長さが 255 文字以下の文字列で、この成功した特定の認証応答に固有のものでなければならない (MUST)。
ノンスは、サーバの現在時刻で始まらなければならない (MUST)。
<該当箇所(必要部分のみ抜粋)>
location: http://openid-rp.openid.net:80/openid-php-openid/examples/consumer/finish_auth.php?
openid.response_nonce=2012-03-31T22%3A10%3A26Zm0NXo0
⑪openid.return_to
<説明>
(オプション) OP が要求のステータスを示す応答とともにユーザエージェントを戻すべき (SHOULD) URL。
<該当箇所(必要部分のみ抜粋)>
location: http://openid-rp.openid.net:80/openid-php-openid/examples/consumer/finish_auth.php?
openid.return_to=http%3A%2F%2Fopenid-rp.openid.net%3A80%2Fopenid-php-openid%2Fexamples%2Fconsumer%2Ffinish_auth.php%3Fjanrain_nonce%3D2012-03-31T22%3A10%3A13ZBiYAH3
⑫openid.signed
<説明>
署名済みフィールドのコンマ区切りのリスト。
"openid." プリフィックスは省略する。このリストは、少なくとも "op_endpoint"、"return_to"、"response_nonce"、
"assoc_handle" を含まなければならない (MUST)。
また、応答に存在する場合は、"claimed_id" と "identity" を含まなければならない (MUST)。
<該当箇所(必要部分のみ抜粋)>
location: http://openid-rp.openid.net:80/openid-php-openid/examples/consumer/finish_auth.php?
openid.signed=assoc_handle%2Cclaimed_id%2Cidentity%2Cmode%2Cns%2Cns.sreg%2Cop_endpoint%2Cresponse_nonce%2Creturn_to%2Csigned%2Csreg.email%2Csreg.fullname%2Csreg.nickname
⑬openid.sig
<説明>
Base 64 エンコードされた署名。署名すべキーと値のペアのリストを、キー・バリュー形式エンコーディングでエンコードしてオクテット文字列に変換する。
アソシエーション形式から署名アルゴリズムを決定する。その署名アルゴリズムをオクテット文字列に適用する。
<該当箇所(必要部分のみ抜粋)>
location: http://openid-rp.openid.net:80/openid-php-openid/examples/consumer/finish_auth.php?
openid.sig=PZRdFO2c0Uz3MY72nZgCNsMrfY8%3D
-----------------------------------------------------------------------------------------------------------
・openid_url、openid_serverについてはhttp://openid-foundation-japan.github.com/openid-authentication.htmlに
書かれていないので、独自実装の模様。
・actionについては「<form>エレメントの "action" 属性値は、受信側の URL でなければならない」と書いてあったが、実際のデータでは「 Referer: http://openid-rp.openid.net/openid-php-openid/examples/consumer/try_auth.php&action=verify&..」となっていたので、独自実装の模様。
0 件のコメント:
コメントを投稿