2011年3月17日木曜日

[ACSv2]OpenID Providerを登録する

先日のVittorioのblogでACSv2のIdentity ProviderとしてOpenIDが登録できるようになった、という話がありましたので早速試してみました。

「OpenID now appears among the possible identity providers (it is not in the portal, but an OpenID issuer can be set up via management service) 」

と言っても彼のblogにもある様に、ポータルには出てこないのでmanagement service経由で登録をする必要があります。(要コーディング)

参考になる情報は、以下にあります。
・Alik Levin氏のblog
 http://blogs.msdn.com/b/alikl/archive/2011/02/08/windows-azure-appfabric-access-control-service-acs-v2-programmatically-adding-openid-as-an-identity-provider-using-management-service.aspx
・CodePlexで公開されているサンプル
 http://acs.codeplex.com/wikipage?title=Management%20Service


と言っても毎回OpenID Providerのアドレスなどをコードに埋め込んでリコンパイル、、となると面倒なのでGUIクライアントを作ってみました。
※sourceforge.netにパッケージごとおいてありますので、自己責任でどうぞ。
 https://sourceforge.net/projects/acsv2management/files/


使い方ですが、まずはAppFabric Lab(https://xxx.accesscontrol.appfabriclabs.com/)より設定に必要な以下の情報を取得しておきます。

1.ネームスペース名
 これは言わずもがなhttps://xxx.accesscontrol.appfabriclabs.com/のxxxの部分です。
2.Management Serviceの管理アカウント名
 ポータルの左のメニューからManagement Serviceを開くと確認できます。

















3.管理アカウントのパスワード
 上のアカウント名をクリックするとCredentialsという項があるのでそこでPasswordをクリックすると出てきます。


















後は設定するOpenID Providerのサインインアドレスを調べておきます。
例えばYahoo! Japanであれば「https://open.login.yahooapis.jp/openid/op/auth」となります。

早速作成したGUIを立ち上げて準備した情報を設定します。











そして[Go !]をクリックして以下のダイアログが出れば成功です。











この状態で管理ポータルのIdentity Providersを見ると先ほど設定したOpenID Providerが出てきているはずです。














ただ、この状態だとClaimのルールが設定されていないので、左メニューのRule groupsからOpenIDを使いたいRelying Party用のルールを選んでルールを追加・保存してください。


後は設定したRPにアクセスしてみてACSのサインインページで設定したIdPを選択すると見事設定したOpenID Providerの認証ページにリダイレクトされ、認証・属性読み取りへの同意をするとRPが表示できるはずです。

ACSのサインイン




















Yahooへリダイレクト












属性読み取りへの同意













RPへ


0 件のコメント: