OpenID Authentication 2.0 -Final- を自分なりにまとめてみた①
2.Teminology(用語)
- Identifier
- URL(http,https)又はXRI
- User-Agent
- HTTP/1.1[RFC2616]を実装したEUのブラウザ
- Relying Party(以下RP)
- Identifier証明を望むWebアプリケーション(アバウトミー*1やLiveJournal*2など)
- Openid Provider(以下OP)
- OpenID認証を行うサーバ
- OP Endpoint URL
- Discoveryによって獲得された、OpenID認証を受けるOPのURL
- OP Identifier
- OPのためのIdentifier
- User-Supplied Identifier
- EUが認証時に指定するIdentifier。EUのIdentifierかOP Identifierを記入できる
- Claimed Identifier
- EUが自分のものと主張するIdentifier
- URL…User-Supplied Identifierを正規化したIdentifier
- XRI…CanonicalID
追加
- End User(以下EU)
- サービスの利用者
- Discovery
- RPがOPを発見する行為
- OP Identifier
- OPを識別するためのIdentifier(Yahoo! Japanならhttp://www.yahoo.co.jp/)
3.Protocol Overview(プロトコル概要)
- EU > User-Agentを介してRPにUser-Supplied Identifierを入力することで認証を開始
- RP > User-Supplied IDentifierを正規化しDiscoveryを行い、OP Endpoint URLを獲得する
- RP-OP > (任意)PRとOPは認証リクエスト/レスポンス後の署名照合に使用する共有秘密鍵を交換*3し、関連付け(association)を確立する
- RP > OpenIDの認証リクエストを付けてUser-AgentをOPにリダイレクトさせる
- OP > EUの認証、RP信頼確認をする
- OP > 認証結果(承認されたか、失敗したか)を、EUのUser-AgentをRPにリダイレクトして戻す
- OP > Return URL、nonceの確認、署名の照合を行う
*2:http://www.livejournal.com/
*3:Diffie-Hellman鍵交換(Diffie-Hellman Key Exchange)[RFC2631]