PerlやPHPでのOpenID対応サイトの作り方は結構あるので、ASP.NETで作ってみました。
OpenIDのライブラリはGoogleが公開しているものを以下からダウンロードしました。
http://code.google.com/p/dotnetopenid/downloads/list
開発環境は、
OS:WindowsXP Pro SP3
IDE:Visual Studio 2005 Professional Edition
.NET Framework:2.0.50727
です。
以下の手順で作成・確認します。
1.Visual Studioで新規Webアプリケーションを作成
2.参照設定にGoogleからダウンロードしたライブラリ(DLL)を設定
3.ツールボックスにダウンロードした部品(OpenIdLogin)を追加し、Webページに追加
ツールボックス→右クリック→アイテム選択→参照より先ほどのDLLを追加する。
Webページ上へOpenIdLoginをドラッグ&ドロップする。
4.認証状態を表示するための部品(ラベルなど)をWebページに追加
ページがロードされたときに状態をラベルに表示するため、以下のコードを追加する。(Default.aspx.vb)
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Lbl_UserID.Text = User.Identity.Name
lbl_IsAuthenticated.Text = IIf(User.Identity.IsAuthenticated, "True", "False")
End Sub
End Class
5.フォーム認証を使う様に環境を設定
WebサイトメニューよりASP.NET構成を開き、Webサイト管理ツールより、
セキュリティ→認証の種類の選択のリンクをたどり、ユーザがサイトにアクセスする方法を「インターネットから」へ変更する。
6.ビルド、テスト
実行すると、認証前の状態ではUserIDは空白、IsAuthenticatedはFalseになっているので、先日紹介したWindowsLiveのOpenIDを入力してLoginをクリックする。
WindowsLiveの認証ページへリダイレクトされるので、パスワードを入力してサインインする。
認証が成功すると、UserIDにOpenID、IsAuthenticatedにTrueが返される。
とりあえずということもあり単純にログインおよび状態の表示のみをしましたが、その他の機能もそのうち使ってみたいと思います。
0 件のコメント:
コメントを投稿