前回は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回も参考にしてください。
図1 Live Services Developer Portal – New Service図2 Service Component Properties
Service Component Labelには、わかりやすいアプリケーション名を英数字で入力します。Service Component Descriptionにはアプリケーションの説明を入力します。DomainにはWebサイトのドメイン(http://やディレクトリー名を含めません)、Return URLはhttp://またはhttps://から始まるLive Messenger Web Toolkitを利用しているWebサイトのアドレスを入力します。アプリケーション名やドメイン、Return URLを後から変更することはできません。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"xml:lang="ja-jp"xmlns:msgr="http://messenger.live.com/2009/ui-tags"><head><metahttp-equiv="Content-type"content="text/html;charset=UTF-8"/><title>Live Messenger Web Toolkit</title><scripttype="text/javascript"src="http://www.wlmessenger.net/api/3.5/loader.js"></script><scripttype="text/javascript">Microsoft.Live.Core.Loader.load(['messenger.ui.styles.core','messenger.ui']);</script></head><body><msgr:appid="appTag"application-verifier-token="<%= ApplicationVerifier %>"privacy-url="Privacy.html"channel-url="Channel.html"token-url="RefreshMessengerToken.aspx"></msgr:app><msgr:bar></msgr:bar></body></html>
それでは、実際にMessenger Web Barが動作するか確認してみましょう。Live Messenger Web Toolkitは、アプリケーション登録で指定したドメイン下でしか動作できません。動作確認には、実際にWebサイトへアップロードするか、Windowsであればhostsファイルを編集しローカルの開発サーバーに対象ドメインでアクセスできるように細工する必要があります。サイトプロジェクトのアップロードは、ソリューションエクスプローラの右クリックメニューにあるWebサイトのコピーからできます(図6)。
図6 Webサイトのコピー
Webサイトへアクセスし、Messenger Web Barからサインインしてみてください。ただしく動作したでしょうか? サインインできれば正しく認証処理ができていますので、この後紹介するUI Controlsも動いてくれるでしょう。少し長い道のりでしたが、ここまでがMessenger Applicationコントロールに有効な値を設定する方法でした。
Sign Inコントロール
Messenger Web BarとMessenger Applicationコントロール以外も見ていきましょう。最初は、Sign Inコントロールです。名前のとおりLive Messengerにサインインするためのコントロールです。次のようにXHTMLページに記述します。