2012年4月8日日曜日

OpenAM10.0 OAuth2.0を使ってみる

OpenAM10.0が提供するConsumer機能を使用してみる(現時点では、OpenAMにOP機能は提供されていない)。
連携先のOPは、Facebookを使用する。
①OpenAMにおいて、アカウント"taro"を作成する。
※Facebookとのアカウントの連携は、メールアドレスを利用して実施する。そのため、作成したアカウントには、facebook側のメールアドレスを必ず設定する必要がある。

②以下のURLにアクセスし、ConsumerとしてOpenAMのURLを登録する。このとき、自動作成されたAPPキーとAPPシークレットをメモしとく。
https://developers.facebook.com/apps


③OpenAMの管理コンソールにログインする。次に、「アクセス制御」タブを押下する。

④「/(最上位のレルム)」を押下し、「認証」タブを押下する。次に、「モジュールインスタンス 」において、「新規」ボタンを押下する。
⑤「新規モジュールインスタンス」において、以下の値を入力する。「了解」を押下する。
・名前:任意の値(例.facebook)
・タイプ:OAuth2.0

⑥「/(最上位のレルム)ー認証」の「モジュールインスタンス 」において、作成した認証モジュール"facebook"を押下する。以下の値を入力する。「保存」を押下する。
・Client Id:②で取得したAPPキーを入力。
・Client Secret:②で取得したAPPシークレットを入力。
・Proxy URL:環境に合わせて、URLを修正する。
例.http://openam.yasuyasu.com:48080/openam/oauth2.0c/OAuthProxy.jsp
※上記以外の項目は、デフォルトのままで動作した。

⑦認証モジュールにfacebookを明に指定して、OpenAMの管理コンソールにログインする。
http://openam.yasuyasu.com:48080/openam/?module=facebook

⑧facebookの認証画面が表示されるため、ログインする。

⑨ニュースフィードへのアクセスを求める同意画面が表示されるため、「認可する」を押下する。

⑩OpenAMのパスワード確認画面が表示されるため、入力する。「Submit」を押下する。
※最初のアクセスのみ表示される。2回目以降のアクセスでは、アカウントが連携されているため、画面は表示されない。
  

⑪作成したユーザ情報が表示されることを確認する。