OpenID
自己紹介
全員の自己紹介
概要
「1つのIDをインターネット上で無料かつ簡単に使うための仕組み」
利用者の認証を外部のサービスに任せる仕組み。
Yahooやはてなのアカウントを持っていれば認証できるようになる。
OpenIDの認証の仕組み
5.利用者の認証(パスワード) +------------+ +-------------------------------->|認証サービス| | +------------------------->| (OP) | +----------+ | +------------------------| | |利 用 者| | |6.認証応答 +------------+ | | | | ^ | |(END USER)| | | (OpenID Response) | | 3.鍵共有 | | | | 2.Discovery | V +----------+ | | +------------+ | | +----------------------->| 対応サイト | | |4.認証要求(OpenID Request)| | | +--------------------------| (RP) | +-------------------------------->| | 1.ID(URL)の提示 +------------+ 7.認証応答の検証
OpenIDのログイン方法には2種類ある
余談
OpenID 1.xはセキュリティ的にまずかった。
YahooはOpenID 2.xにしか対応していない。
先日OpenIDの勉強会があった。
ビジネス的に野村証券さんが関わっているらしい。。。
使ってみる
サンプルを動かしてみる
サンプルのコピー
cp -r /opt/local/lib/ruby/gems/1.8/gems/ruby-openid-2.0.4/examples/rails_openid rails_openid cd rails_openid
Railsを動かすために必要なlog、dbディレクトリを作成する
mkdir log db
サーバーを2つ動かす。
ruby script/server --port=3000
ruby script/server --port=3001
一つは認証サーバー
もう一つはRP
同じスクリプトなのでどちらがどちらでも構わないが、説明の便宜上3000の方を認証サーバーとして扱い、3001の方をRPとして扱う。
認証サーバー http://localhost:3000/ にアクセスする。
サンプルではテキストボックスにnameを入れてLoginをクリックすると勝手にユーザーを作るようになっているので、とりあえずtestを入力して、loginをクリックする。
Your OpenID URL is http://localhost:3000/user/test
と表示されるので、『http://localhost:3000/user/test』がOpenIDになる
RP http://localhost:3001/consumer にアクセスする。
テキストボックスに、http://localhost:3000/user/testと入力して、Verifyを押す。
ここまでで時間切れ