はじめに
前回はLive Messenger Web ToolkitのUI ControlsのMessenger Web Barを紹介し,Webサイトに設置する途中までを行いました。今回はこの続きから認証処理を行いサインインできるようにします。またMessenger Web Bar以外のUI Controlsも紹介します。
Messenger Applicationコントロール
Web Barを単純にXHTMLページに記述するだけでは,Live Messengerへサインインができません。サインインするためにはWindows Live ID Delegated Authentication(委任認証)という認証処理が必要です。委任認証の仕組みについては,若干内容が異なりますが第14回と第15回も参考にしてください。
委任認証に必要な情報を記述するコントロールが前回にも紹介したMessenger Applicationコントロールです。このコントロールは次のように記述します。
<msgr:app
id="appTag"
application-verifier-token="***Application Verifier***"
privacy-url="Privacy.html"
channel-url="Channel.html"
token-url="RefreshMessengerToken.aspx">
</msgr:app>
application-verifier-token,privacy-url,channel-url,token-urlに記述している値が認証に必要な情報です。application-verifier-tokenに指定する値は,アプリケーション検証トークンという文字列です。これは動的に生成する必要があり,またJavaScriptではその処理を実現できません。ASP.NETやPHP,Rubyによる処理が必要になります。
アプリケーションの登録
委任認証を行うためには,事前にLive Services Developer Portalでアプリケーションを登録します。Windows Live IDアカウントによりWebサイトへサインインし,「New Service」をクリックします(図1)。続いて,「Live Services: Existing APIs」をクリックし,Service Component Propertiesページに必要事項を入力します(図2)。
Service Component Labelには,わかりやすいアプリケーション名を英数字で入力します。Service Component Descriptionにはアプリケーションの説明を入力します。DomainにはWebサイトのドメイン(http://やディレクトリー名を含めません),Return URLはhttp://またはhttps://から始まるLive Messenger Web Toolkitを利用しているWebサイトのアドレスを入力します。アプリケーション名やドメイン,Return URLを後から変更することはできません。
最後にCreateボタンをクリックして登録完了です。完了すると,Application IDやSecret Keyという項目が表示されると思います。このふたつの値を,この後の認証処理に使用します。
サンプルコードの利用
Messenger Applicationコントロールに設定する値の生成処理は,SDKに含まれているサンプルをそのまま利用することにします。Interactive SDKのBeginタブからサンプルコードがダウンロードできます。本連載ではVisual Basicを使用したものを紹介しますが,サンプルにはC#,Java,Perl,PHP,Python,Rubyも含まれています。
使用するコードはWebToolkit\GettingStarted\VBフォルダーにあります(図3)。Visual Basicの場合,Visual StudioのASP.NET Webサイトプロジェクトに使用するファイルです。
Visual Studioを使用してASP.NET Webサイトプロジェクトを実際に作ります。現在であればVisual Studio 2010 Beta2やVisual Web Developer 2008 Express Editionが無償で利用できます。ASP.NET Webサイトプロジェクトは,ファイルメニューの新規作成よりWebサイトを選択することで作成できます(図4)。
作成されたプロジェクトにサンプルのファイルを追加します。ソリューションエクスプローラの右クリックメニュー(図5)から,ASP.NETフォルダーの追加よりApp_Codeフォルダーを作成し,また既存項目の追加からweb.configを除くサンプルファイルをプロジェクトに追加します(Default.aspxファイルなどは上書きします)。
web.configの内容は上書きせずに,サンプルにあるweb.configの内容をプロジェクトのweb.configに追記するようにします。
サンプルの下記の部分を,プロジェクトのweb.config内の<appSettings/>と置き換えます。
<appSettings>
<add key="wll_appid" value="%%YOURAPPID%%"/>
<add key="wll_secret" value="%%YOURAPPKEY%%"/>
<add key="wll_consenturl" value="http://consent.messenger.services.live.com/"/>
</appSettings>
また,上記の%%YOURAPPID%%と%%YOURAPPKEY%%の部分は,アプリケーション登録時のApplication IDとSecret Keyに置き換えます。

