前回に続いてWindows Live ID SDKよりWindows Live ID Delegated Authentication(委任認証)です。前回は,ユーザーに対して承認の要求処理までを紹介しました。今回は承認情報の受信処理についてです。
承認要求ページと承認管理ページ
はじめにユーザーが目にする承認要求ページについて確認しておきましょう。Webサイト(アプリケーションプロバイダ)が示した承認要求ページのリンクをクリックすることでユーザーは承認要求ページ(図1)に移動します。
承認要求ページでは,アプリケーションプロバイダが要求したオファーおよびアクションに対してアクセスの許可ができます。一度許可を行い再び承認要求ページへ移動した場合は,既に許可したその許可がまだ有効な期間にあるオファーおよびアクションについては表示されません。ページへ移動したときすべて有効なオファーおよびアクションであった場合は,すぐにアプリケーションプロバイダの戻り先URLへリダイレクトされます。
ユーザーがアクセス許可を取り消したい場合は,承認管理ページ(図2)で行います。
承認情報の受信
それでは,承認要求ページからリダイレクトされたときの処理を説明します。承認サービスは戻り先URLにHTTP POSTにより承認情報を返します。戻り先のページでは次の4個のパラメータが含まれているかを確認し処理する必要があります。
- ResponseCode
承認要求の状態を表す応答コードです。次のいずれかが格納されています。
値 説明 RequestApproved ユーザーは承認要求プロセスを完了 RequestRejected ユーザーは承認要求プロセスをキャンセル アプリケーションプロバイダが要求した許可に対して,すべてまたは一部を許可した場合に「RequestApproved」の文字列が格納されています。
- ConsentToken
承認トークンです。承認要求を完了した場合のみ返されます。このトークンにはさらに複数のパラメータが含まれています。アプリケーションプロバイダはこの情報を使用してリソースプロバイダにアクセスします。構造の解析はこの後説明します。
- action
ユーザーの実行中の操作を表す文字列が格納されています。現在のところ格納される可能性がある値は次のひとつのみです。
値 説明 delauth ユーザーが承認要求のプロセス完了に成功 - appctx
承認の要求時に指定したappctxパラメータの値が格納されています。
ResponseCodeの値が「RequestApproved」の場合,ConsentTokenに格納されている承認トークンの解析処理に進みます。
委任認証プロセスにおいて必須の処理の中で,ここだけPOSTデータを処理する必要がありJavaScriptのみでの利用が不可能になっています。

