オンライン認証
あるユーザが、本当にそのユーザであるか認証する。
ここでは、話をWEBアプリに限定
- クライアントのWEBサイトにて、ユーザ認証が必要な処理
- オンライン認証サービスのサイトへのリンクを表示(ログインボタン?)
- ユーザはオンライン認証サービスのサイトへ移動
- オンライン認証サービスのサイトで、そこに登録したIDでログイン(ログイン済みならスキップ)
- 正しくログインされていれば、元のクライアントのサイトへリダイレクト
- 何らかの方法で、ユーザのID等の情報を取得する
typekeyではリダイレクト時のgetパラメータに直接渡される
はてな認証では、まず一時キーがリダイレクト時のgetパラメータにわたされ、そのキーを使って別途情報取得
認証はクライアントからサーバ側に問い合わせた時の一回のみ。ユーザ情報などはクライアント側独自でセッション等で持ちまわる必要がある。また、上記の認証後、オンライン認証サービス側でログアウトしたとしても、その情報がクライアント側に送られることは無い。つまり、ログアウト機能もクライアント側で独自に実装する必要あり。
TypeKey
https://www.typekey.com/t/typekey
http://www.hyuki.com/yukiwiki/wiki.cgi?TypeKey
Using TypeKey in Other Applications
http://www.sixapart.com/movabletype/docs/tk-apps
レスポンスの中にDSA署名の値がある。これの正当性を検証して、
リダイレクトのリクエストが正当なものであるかどうかチェックする。
はてな認証
http://auth.hatena.ne.jp/
http://search.cpan.org/~naoya/Hatena-API-Auth/
Flickr Authentication API
というのも在るらしい
http://flickr.com/services/api/auth.howto.web.html
んー、シーケンス図描けよって感じですね。この説明だと。まあ、また今度ーー。