使ってみよう! Windows Live SDK/API

第14回 Windows Live ID委任認証(1/2)

この記事を読むのに必要な時間:およそ 4.5 分

はじめに

今回から数回に渡って,Windows Live ID SDKとWindows LiveユーザーデータAPIについて紹介します。Windows Live ユーザーデータAPIを利用すると,Windows Liveサービスに格納されているWindows Liveユーザーの情報へのアクセスがWebアプリケーションから可能になります。このAPIを利用するにはWidows Live ID SDKのWindows Live ID DelegatedAuthenticationも利用する必要があります。本連載では最初に認証の仕組みを紹介し,次回以降の記事にてユーザーデータをアクセスする方法を紹介します。

Windows Live ID DelegatedAuthentication

Windows Live ID Delegated Authentication(委任認証)は,Windows Liveサービスのアカウント(Windows Live ID)を所有しているユーザーの,Windows Liveサービスに対応したデータに,Webアプリケーションからアクセスするための仕組みです。

委任認証を利用するとWindows Live IDによる認証が必要なデータにアクセスできます。そのためにはWebアプリケーション側は,ユーザーにアクセス許可を承認してもらいます。このときユーザーは,Windows Live IDサービスのWebページ上にて認証および承認を行います。WebアプリケーションへWindows Live IDアカウント情報が送信されることはありません。

委任認証を利用したWebアプリケーションの利点として,Windows Liveサービス上のユーザーデータにアクセスでき,ユーザー個人に対応したアプリケーションが提供できることが考えられます。また,データベースやストレージを用意する必要がありません(提供されていない情報を格納するためには必要です)。

Windows LiveサービスのユーザーデータとそのAPIは,今のところ次のものが用意されています。これらのAPI群をユーザーデータAPIと呼んでいます。いずれも正式バージョンではありませんが,今後アップデートや新たなAPIの追加が予想されます。

  • Windows Live Contacts API
    Windows Live HotmailやMessengerに使用するコンタクト情報にアクセス

  • Windows Live Photo API
    Windows Liveスペース上の写真にアクセス

  • Windows Live Application Based Storage API
    Webアプリケーション用のデータストレージ

承認の流れ

ユーザーデータへアクセスするため,実際的な委任認証を使用したときの承認プロセスを図1に示します。また,委任認証で使用する用語についても説明します。

図1 承認プロセス

図1 承認プロセス
  1. ユーザーが委任認証を利用したWebサイトへアクセスします。Webアプリケーションを提供しているWebサイトのことをアプリケーションプロバイダと呼びます。

  2. WebサイトはWindows Liveの承認要求ページへリダイレクトします。Webサイトは,ユーザーデータにアクセスするためにユーザーに承認を要求します。具体的には承認要求ページへのURLを示し,ユーザーがクリックすることで移動します。移動先のユーザーデータに対する承認・拒否するページを承認要求ページ図2と呼びます。また,この承認情報を管理するサービスをWindows Live ID承認サービスと呼びます。

図2 承認要求ページ

図2 承認要求ページ
  1. ユーザーは表示された承認要求ページにて,アプリケーションプロバイダから要求されたユーザーデータへのアクセス許可に対して承認または拒否を行います。

    対象となるユーザーデータのカテゴリをオファーそのオファーに対して操作可能な機能(読み取りや書き込みなど)アクションと呼びます。この組み合わせを許可と呼びます。

  2. 承認要求ページからWebサイトへ承認情報とともにリダイレクトされます。ユーザーが承認または拒否を行うと(ボタンをクリックすると),Webサイトが戻り先URLとして指定していたページへ移動します。このときPOSTデータに承認結果の情報が含まれています。ユーザーが承諾した場合承認トークンと呼ばれるユーザーデータのアクセスに必要な文字列が返ります。

  3. 承認トークンの内容を使用して,WebサイトはユーザーデータAPIを利用してユーザーデータにアクセスできます。このユーザーデータを提供しているWindows Liveサービスをリソースプロバイダと呼びます。

ここまでがユーザーデータにアクセスするまでの一連の流れになります。一度,承認トークンを受け取るとアクセス許可が有効な限りWebサイトは直接リソースプロバイダとやり取りが可能です(アクセスのたびにユーザーの承認は必要ありません)。また,ユーザーが再び承認要求ページへアクセスした場合,既に承認したオファーおよびアクションへの要求であり,その承認が有効な場合はすぐにWebサイトへリダイレクトされます。

著者プロフィール

松江祐輔(まつえゆうすけ)

日本システムウエア株式会社 勤務。現在,ハードウェア設計・検証業務を担当。大学生・大学院生時代はベンチャー企業 有限会社ミレニアムシステムズにプログラマーとして従事。趣味はプログラミング。好きな言語はVisual Basic。Microsoft MVP for Windows Live Platform(Jul 2010 - Jun 2011),Windows Live(Jul 2011 - Jun 2013)。

URL:http://katamari.jp

コメント

コメントの記入