Live Framework-enabled Webサイト
前回まではMesh-enabled Webアプリケーションと呼ばれる特別なWebアプリケーションを作成しました。Mesh-enabled Webアプリケーションは,Windows PCなどのクライアント上やWebブラウザを通してLive Desktop上で実行し,Meshサービスのユーザーデータへアクセスしていました。
今回からは2回に渡り,通常のWebアプリケーション(Webサイト)からMeshサービスへのアクセスを紹介します。ある手続きを踏むことでどのサーバー上からでもLive Frameworkにより各種Liveサービスにアクセスすることが可能です。Live Frameworkを利用しLiveサービスへアクセスするWebサイトのことをLive Framework-enabled Web siteと呼んでいますが,この名前はMesh-enabled Webアプリケーションと対比してAzure Services Developer Portalで記載されているものです。これ以外の場所では特に呼び名に関しては記載がなく,特に決まってこう呼ぶものでもないようです。一般的なWebサイトやWebアプリケーションと同じと考えてもらえれば結構です。
今回作成するWebサイトはASP.NETを使用していますが,ASP.NETに依存しているわけではありません。ただし,Webサイトはドメインによるアクセス可能であること(IPアドレスだけでは不可)が必要です。また,LiveサービスからのPOSTデータを受信できることが条件です。
委任認証
WebサイトからMeshサービスへアクセスするために,今回はWindows Live ID Delegated Authentication(委任認証)という仕組みを利用します。MeshサービスへアクセスするにはユーザーのWindows Live IDアカウント情報が必要ですが,今回作成するWebサイトのように第3者のWebサイトへアカウント情報を提供することはできませんよね。このような場合に用意されている認証の仕組みが委任認証です。
委任認証を利用すると,ユーザーはマイクロソフトのサーバー上にあるWindows Live ID承認サービスを利用して,特定のWebサイトに対してユーザーデータのアクセス許可を設定できます。Webサイトはユーザーの許可により承認トークンと呼ばれるアカウント情報とは関連性のない文字列を受け取ることができます。この承認トークンを使用してLiveサービス上のデータアクセスを行います。
Windows Live ID委任認証の内容は,「使ってみよう! Windows Live SDK/API」の第14回と15回に紹介しています。扱っているLiveサービスが異なるため若干内容に違いがありますが,今回の内容の理解の助けにはなると思いますので併せて参照してください。
Webサイトの登録
最初にAzure Services Developer PortalでWebサイトの登録(プロジェクトの作成)を行います。第7回でMesh-enabled Webアプリケーションのプロジェクトを作成したときのように,新たにプロジェクトを作成します。その際に,「Create Live Framework-enabled Web site」を選択します(図1)
続いて作成したプロジェクトのSummaryページにある「Delegated Authentication」の「Edit」リンクをクリックして,委任認証に関する情報を編集します(図2)。
確認および編集できる項目は以下の通りです。
- Application ID
Liveサービスへアクセスする際に使用するID。
- Domain
Webサイトのドメイン(例: www.gihyo.co.jp)。IPアドレスやlocalhostを指定することはできません。また,ドメインを一度設定すると変更はできません。
- Return URL
Liveサービスからユーザーデータのアクセス許可に関して結果を受け取るページのアドレスを指定します。
- Secret Key
WebサイトとLiveサービス間で共有する,認証時の暗号化のための文字列です。
DomainおよびReturn URLを入力し「Update」ボタンをクリックします。
Webサイトの作成
Visual Studio 2008(または無償のVisual Web Developer 2008 Express Edition)を使用してWebサイトプロジェクトを作成します(図3)。メニューのファイル,新規作成からWebサイトを選択します。今回扱うのはWebアプリケーションプロジェクトではなくWebサイトプロジェクトですので注意してください。
続いて,Live Frameworkの.NET Framework用ライブラリを参照します。ソリューションエクスプローラにあるWebサイトを右クリックして,メニューから参照の追加を選択します。以下のDLLファイルを参照します(図4)。
- Microsoft.LiveFX.Client.dll
- Microsoft.LiveFX.ResourceModel.dll
- Microsoft.Web.dll
各ファイルはSDKをインストールしている場合,「%programfiles%\Microsoft SDKs\Live Framework\v0.91\API Toolkits\.Net Library」にあります。

