このライブラリに付属するRPサンプリアプリケーションを使用し、Yahoo!Japan(OP)と認証してみる。
おおざっぱなシステム構成およびシーケンスは以下になる。
■前提条件
・以下のURLにアクセスし、OpenIDを予め発行しておく。
http://openid.yahoo.com/
・RPの構築環境に、JavaおよびApache marvenをインストールしていること。
■設定手順
①以下のサイトからOpenID4Java媒体をダウンロードする(openid4java-full-0.9.5.593.tar.gzを使用)。ダウンロードした媒体を任意のディレクトリに解凍する。
http://code.google.com/p/openid4java/
②コマンドプロンプトを起動し、以下のmavernコマンドを実行して、RPサンプリアプリケーションのwarファイルを作成する。
--------------------------------------------------------------------------------
d:\>cd d:\openid4java-full-0.9.6.662\samples\simple-openid
d:\openid4java-full-0.9.5.593\samples\simple-openid>d:\apache-maven-3.0.4\bin\mvn war:war
--------------------------------------------------------------------------------
③RPサンプリアプリケーションはJetty上で動かす。mavernコマンドを実行してJettyを起動する。
--------------------------------------------------------------------------------
d:\openid4java-full-0.9.5.593\samples\simple-openid>d:\apache-maven-3.0.4\bin\mvn jetty:run
--------------------------------------------------------------------------------
以下にアクセスし、正常にアクセスできることを確認する。
http://localhost:8080/simple-openid/
④RP画面のOpenID欄に、Yahooで発行したOpenIDを入力し、「送信」ボタンを押下する。押下後、Yahoo(OP)に対して、OPのディスカバリとアソシエーションのプロトコルが実行される。
--------------------------------------------------------------------------------
[INFO] Discovery - Starting discovery on URL identifier: https://me.yahoo.co.jp/a/*********
[INFO] YadisResolver - Yadis discovered 1 endpoints from: https://me.yahoo.co.jp/a/********
[INFO] Discovery - Discovered 1 OpenID endpoints. ★OP検索完了!
[INFO] ConsumerManager - Trying to associate with https://open.login.yahooapis.jp/openid/op/auth attempts left: 4
[WARN] HttpMethodBase - Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
[INFO] ConsumerManager - Associated with https://open.login.yahooapis.jp/openid/op/auth handle: ******* ★アソシエーション完了!
[INFO] ConsumerManager - Creating authentication request for OP-endpoint: https://open.login.yahooap is.jp/openid/op/auth claimedID: https://me.yahoo.co.jp/a/**** OP-specific ID: https://me.yahoo.co.jp/a/******* ★認証要求の作成完了!
--------------------------------------------------------------------------------
⑤RPからOPに認証要求をPOSTするタイミングで、画面に「Continue」ボタンが表示される。「continue」ボタンを押下する。
⑥Yahoo!Japan側のログイン画面が表示されるため、ID/PWを入力する。
⑦認証に成功すれば、OpenIDをRPに通知してよいかを求める同意画面が表示される。「同意する」ボタンを押下する。
⑧OPからRPへ認証応答が通知され、RP側でレスポンスの内容を検証する。検証OKであれば、以下のように画面が表示される。
--------------------------------------------------------------------------------
[INFO] ConsumerManager - Verifying authentication response...
[INFO] ConsumerManager - Received positive auth response.
[INFO] ConsumerManager - Found association: ****-- verifying signature locally...
[INFO] ConsumerManager - Verification succeeded for: https://me.yahoo.co.jp/a/*********
--------------------------------------------------------------------------------
感想:Yahoo!Japanとすごく簡単につながった!!!
0 件のコメント:
コメントを投稿