mixi のあしあとAPIを使って認証APIも実現できるのでは?
mixi のあしあとAPIを第三者経由で安全に使えるのなら、不完全ながら認証APIまで実現できる気がする。
- ユーザはサイトAにアクセス
- サイトAはログイン画面を表示
- ユーザはサイトAにmixiのIDとパスワードを入力し、JavaScriptでwsse:PasswordDigestを生成する
- ユーザはwsse:PasswordDigestをサイトAに送信する(パスワードはサイトAに送られない)
- サイトAはmixiのあしあとAPIを使ってログインを試みる
- ログインに成功したら、ユーザがmixiのユーザであることが認証されることになる
不完全と書いたのは、この仕組みが危うすぎるから。
- 違うサイトに対してIDとパスワードを入力する習慣が危険(たとえパスワードが送られないとしても)
- パスワードがサイトAに送られないという保証が無い(サイトAはいくらでも不正ができる)
JavaScript じゃなくて、信頼できる第三者がWebブラウザのWSSEプラグインを提供すればいいのかもしれない。
構造上はサイトAが中間者攻撃をしているのに近い*1のかな。 他に気になるのは、「mixiはユーザの生パスワードを保存していないといけない」ということ。 この問題は、こせきの日記 - はてなはパスワードを生データで管理してる?と同じ。