斜め読み OpenID Simple Registration Extension 1.0
OpenID Simple Registration Extension 1.0の斜め読みです。
概要
OpenID Simple Registrationは非常に軽量なプロフィール交換の為のOpenID Authenticationプロトコルの拡張です。
エンドユーザーがあるウェブサービスの新しいアカウントを登録する際に、8つの共通の要求された情報要素を渡すように設計されています。
Request Format
リクエストパラメータの詳細は下記のようになり、さらにcheckid_immediateまたはcheckid_setupモードと共に送信されるべきです。
次に述べる全てのリクエストパラメータはオプショナルですが、openid.sreg.requiredかopenid.sreg.optionalのうちいずれか一つはリクエストに含まれなければなりません。
- openid.sreg.required
- カンマ区切りのフィールド名のリストで、もしレスポンスに含まれない場合、コンシューマーはエンドユーザーの同意なしに*1登録を完了させる事を妨げられるであろう。フィールド名はResponse Formatの項で、"openid.sreg."というプリフィクスを除いた形で明記する。
- openid.sreg.optional
- カンマ区切りのフィールド名のリストで、コンシューマーによって使用される。しかし登録が完了するまでは空である。フィールド名はResponse Formatの項で、"openid.sreg."というプリフィクスを除いた形で明記する。
- openid.sreg.policy_url
- コンシューマーがプロフィールデータがどのように使用されるかに関してエンドユーザーに読ませる為に提供するURLです。IdPはそれが与えられた場合、エンドユーザーにそのURLを表示するべきである。
Response Format
下記のフィールドはopenid.modeがid_resの時にIdPのレスポンスの中に含まれるべき物である。
レスポンスの"openid.signed"フィールド一覧は登録時のフィールド名を(例えばsreg.nicknameのように)openid.というプレフィクスを除いた形で含めなければならない。"openid.sig"フィールドはsregの為に署名を提供しなければならない。フィールドはOpenID Authentication Specificationに従ってOpenIDデータを付け加える。
もしコンシューマーの署名確認が失敗したら、IdPからの登録データでは無いと扱われる方が良い。
コンシューマーは必須またはオプションとしてマークされたフィールドを不足させないレスポンスをハンドルする為に準備されなければならない。
必須のフィールドを含めなかったり、他に必須でないフィールド含めたりした場合の挙動はコンシューマー次第である。
コンシューマーはこの状況をエンドユーザーが手動でデータを入力したのと同じようにみなすべきである。
レスポンスの中でひとつのフィールドが繰り返されてはならない。*2さらに含まれる全てのフィールドはこの使用の中で定義されたフィールドのセットから選ばれなければならない。
IdPはレスポンスクエリーの中で下記のフィールドのいかなるサブセットも戻すかもしれない。
- openid.sreg.nickname
- エンドユーザーがニックネームとして使う全てのUTF-8文字列
- openid.sreg.email
- エンドユーザーのメールアドレス
- openid.sreg.fullname
- エンドユーザーのフルネームを表現したUTF-8文字列
- openid.sreg.dob
- エンドユーザーの誕生日(YYYY-MM-DD)
- openid.sreg.gender
- エンドユーザーの性別(M or F)
- openid.sreg.postcode
- UTF-8文字列。エンドユーザーの住んでいる国の郵便システムに則った郵便番号
- openid.sreg.country
- ISO3166で定義されたエンドユーザーの国。
- openid.sreg.language
- ISO639で定義されたエンドユーザーの言語。
- openid.sreg.timezone
- TimeZoneデータベースからのアスキー文字列。