TOC |
|
OpenID Simple Registation は、OpenID 認証プロトコル (Authentication protocol) の拡張仕様のひとつであり、非常に軽量なプロファイル交換を実現するものである。ウェブサービスにおいてエンドユーザ (End User) が新たなアカウントを登録しようとする際に、一般に要求されることが多い8種類の情報を受け渡すように設計されている。
1.
要求記法および規則
2.
用語
3.
要求書式 (Request Format)
4.
応答書式 (Response Format)
5.
セキュリティに関する考慮事項
6.
参考文献
§
Authors' Addresses
TOC |
本文書で用いられる各キーワード「MUST (しなければならない)」、「MUST NOT (してはならない)」、「REQUIRED (必須である)」、「SHALL (するものとする)」、「SHALL NOT (しないものとする)」、「SHOULD (すべきである)」、「SHOULD NOT (すべきではない)」、「RECOMMENDED (推奨される)」、「MAY (してもよい)」、「OPTIONAL (任意である)」は [RFC2119] (Bradner, B., “Key words for use in RFCs to Indicate Requirement Levels,” .) で述べられている通りに解釈されるべきものである。
TOC |
- エンドユーザ (End User) :
- 自らの識別情報 (Identity) をコンシューマ (Consumer) に証明したい実在のユーザ。
- コンシューマ (Consumer) :
- 主張識別情報 (Claimed Identity) がエンドユーザのものであるという証明を必要とするウェブサービス。
- アイデンティティプロバイダ (Identity Provider) :
- "IdP" または "Server" とも呼ばれる。主張識別情報がエンドユーザのものであるという暗号理論に基づいた証明を得るために、コンシューマが問い合せる OpenID 認証サーバを指す。
TOC |
ここに詳述する要求パラメータは、OpenID 認証の checkid_immediate または checkid_setup 要求とともに送るべきである (SHOULD)。
以下の要求フィールドは全て任意である (OPTIONAL) が、要求の中で、"openid.sreg.required" または "openid.sreg.optional" の少なくとも片方を指定しなければならない (MUST)。
- openid.sreg.required:
- フィールド名のコンマ区切りのリスト。応答に存在していない場合、コンシューマは、エンドユーザとの対話を行なわずに登録を完了することができない。フィールド名は、応答書式 (Response Format) (応答書式 (Response Format) ) の項において指定するフィールド名から、"openid.sreg." プリフィックスを除いたものとする。
- openid.sreg.optional:
- フィールド名のコンマ区切りのリスト。コンシューマによって使用され、存在していなくても、登録完了の妨げにはならない。フィールド名は、応答書式 (Response Format) (応答書式 (Response Format) ) の項において指定するフィールド名から、"openid.sreg." プリフィックスを除いたものとする。
- openid.sreg.policy_url:
- プロファイルデータがどのように使用されるのかをエンドユーザが知りたい場合に、どこを見れば良いのかがわかるように、コンシューマからエンドユーザに提示される URL 。アイデンティティプロバイダは、この URL が指定された場合、エンドユーザに対してこのURLを表示すべきである (SHOULD)。
TOC |
"openid.mode" が "id_res" のとき、アイデンティティプロバイダの応答は、下記に示すフィールドを含むべきである (SHOULD)。
応答の "openid.signed" のフィールド・リストには、送り返された登録フィールド名が含まれていなければならない (MUST)。そのフィールド名は、(例えば、sreg.nickname など) openid. プリフィックスを除いたものとする。"openid.sig" フィールドでは、OpenID Authentication 仕様書に指定される OpenID データに加え、sreg. フィールドを署名対象としなければならない (MUST)。
コンシューマが署名検証に失敗した場合、アイデンティティプロバイダから得られた登録データを、一切使用するべきではない (SHOULD)。
コンシューマは、必須または任意と指定されたフィールドが存在していない応答を処理できるようにしておかなければならない (MUST)。
要求したフィールドが存在していない場合、もしくは、要求していないフィールドが余分に存在している場合の対処方法については、コンシューマが決定するものとする。こうした状況について、コンシューマは、エンドユーザがデータを手入力した場合と同様に処理すべきである (SHOULD)。
応答の中で、同一のフィールドを二度以上記述してはならない (MUST NOT)。また、応答に含まれるフィールドは全て、本仕様書で規定されるフィールドの中から選択しなければならない (MUST)。
アイデンティティプロバイダは、照会に対する応答として、下記フィールドの一部を任意の組み合わせで送り返してもよい (MAY)。具体的には、下記の通りである:
- openid.sreg.nickname:
- エンドユーザがニックネームとして使用したい任意の UTF-8 文字列。
- openid.sreg.email:
- エンドユーザのメールアドレス。[RFC2822] (Resnick, P., “Internet Message Format,” .) の第3.4.1節で指定されている通りとする。
- openid.sreg.fullname:
- エンドユーザのフルネームをフリーテキストで表記した UTF-8 文字列。
- openid.sreg.dob:
- YYYY-MM-DD 形式で表記したエンドユーザの生年月日。指定した桁数より小さい値を表記する場合は、必ずゼロを詰める。この値の長さは、常に 10 でなければならない (MUST)。この値の特定の一部をエンドユーザが公開したくない場合、その部分は全てゼロと設定しなければならない (MUST)。
例えば、エンドユーザが生年月日のうちの年を1980年と指定し、月日を公開したくない場合、送り返す値は、"1980-00-00" とするものとする (SHALL)。- openid.sreg.gender:
- エンドユーザの性別。男性の場合は "M"、女性の場合は "F" とする。
- openid.sreg.postcode:
- フリーテキストで表記した UTF-8 文字列。エンドユーザの居住国の郵便番号体系と合致しているべきである (SHOULD)。
- openid.sreg.country:
- エンドユーザの居住国。ISO3166 で指定されている通りとする。
- openid.sreg.language:
- エンドユーザが選択した言語。ISO639 で指定されている通りとする。
- openid.sreg.timezone:
- タイムゾーンデータベースから得られる ASCII 文字列。
例えば、"Europe/Paris" あるいは "America/Los_Angeles"。
TOC |
なし。
TOC |
[RFC2119] | Bradner, B., “Key words for use in RFCs to Indicate Requirement Levels.” |
[RFC2822] | Resnick, P., “Internet Message Format.” |
[openid_authentication] | Recordon, D. and B. Fitzpatrick, “OpenID Authentication 1.1.” |
TOC |
Josh Hoyt | |
JanRain, Inc. | |
5331 SW Macadam Avenue | |
Suite #375 | |
Portland, OR 97239 | |
USA | |
Email: | josh@janrain.com |
Jonathan Daugherty | |
JanRain, Inc. | |
5331 SW Macadam Avenue | |
Suite #375 | |
Portland, OR 97239 | |
USA | |
Email: | jonathan@janrain.com |
David Recordon | |
VeriSign, Inc. | |
487 E Middlefield Road | |
Mountain View, CA 94109 | |
USA | |
Email: | drecordon@verisign.com |