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

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

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

前回に続いてWindows Live ID SDKよりWindows Live ID Delegated Authentication(委任認証)です。前回は,ユーザーに対して承認の要求処理までを紹介しました。今回は承認情報の受信処理についてです。

承認要求ページと承認管理ページ

はじめにユーザーが目にする承認要求ページについて確認しておきましょう。Webサイト(アプリケーションプロバイダ)が示した承認要求ページのリンクをクリックすることでユーザーは承認要求ページ図1に移動します。

図1 承認要求ページ

図1 承認要求ページ

承認要求ページでは,アプリケーションプロバイダが要求したオファーおよびアクションに対してアクセスの許可ができます。一度許可を行い再び承認要求ページへ移動した場合は,既に許可したその許可がまだ有効な期間にあるオファーおよびアクションについては表示されません。ページへ移動したときすべて有効なオファーおよびアクションであった場合は,すぐにアプリケーションプロバイダの戻り先URLへリダイレクトされます。

ユーザーがアクセス許可を取り消したい場合は,承認管理ページ図2で行います。

図2 承認管理ページ

図2 承認管理ページ

承認情報の受信

それでは,承認要求ページからリダイレクトされたときの処理を説明します。承認サービスは戻り先URLにHTTP POSTにより承認情報を返します。戻り先のページでは次の4個のパラメータが含まれているかを確認し処理する必要があります。

ResponseCode

承認要求の状態を表す応答コードです。次のいずれかが格納されています。

説明
RequestApproved ユーザーは承認要求プロセスを完了
RequestRejected ユーザーは承認要求プロセスをキャンセル

アプリケーションプロバイダが要求した許可に対して,すべてまたは一部を許可した場合に「RequestApproved」の文字列が格納されています。

ConsentToken

承認トークンです。承認要求を完了した場合のみ返されます。このトークンにはさらに複数のパラメータが含まれています。アプリケーションプロバイダはこの情報を使用してリソースプロバイダにアクセスします。構造の解析はこの後説明します。

action

ユーザーの実行中の操作を表す文字列が格納されています。現在のところ格納される可能性がある値は次のひとつのみです。

説明
delauth ユーザーが承認要求のプロセス完了に成功
appctx

承認の要求時に指定したappctxパラメータの値が格納されています。

ResponseCodeの値が「RequestApproved」の場合,ConsentTokenに格納されている承認トークンの解析処理に進みます。

委任認証プロセスにおいて必須の処理の中で,ここだけPOSTデータを処理する必要がありJavaScriptのみでの利用が不可能になっています。

著者プロフィール

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

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

URL:http://katamari.jp

コメント

コメントの記入