はじめに
今回は前回に引き続き,
開発環境
承認情報を受信するにあたり,
セキュリティに気を付ける必要がありますが,
次にWebサイトのドメインについてです。Liveサービスは
127.0.0.1 example.jp
これ以外にもルーターの設定などを行い,
承認情報の受信
承認要求ページ上でのユーザー操作により,
本連載では,
このページで承認情報を受信し,
承認情報
Windows Live ID委任認証の仕組みとしては,
- ResponseCode
ユーザーが,
アクセス許可の承諾またはキャンセルを示す値です。承諾したときの値は 「RequestApproved」 です。 - ConsentToken
承認トークンと呼ばれる文字列です。このトークン内は,
さらに複数のパラメータに分割でき, ユーザーデータのアクセスに必要な情報が含まれています。 - action
ユーザーが行った操作を示す値です。承認要求の完了を示す
「delauth」 という値になります。 - appctx
Webサイトが必要に応じて利用するための値です。承認要求時のURLに
「appctx=…」 というようにパラメータを指定しておくと, その値が返ってきます。本連載では使用していません。
承認トークン
承認トークンは暗号化されています。復号化すると,
- 委任トークン
- 更新トークン
- セッションキー
- オファーとアクション
- 委任トークンの有効期限
- Location ID
それぞれの内容はわからないと思いますが,
委任トークンは,
本記事では,
委任トークンの取得
それでは,
delauth-handler.
Imports WindowsLive
Partial Class delauth_handler
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Request("action") = "delauth" Then
' アクセス許可の承諾処理が完了している場合
' 承認トークンの取得
Dim login = New WindowsLiveLogin(True)
Dim consentToken = login.ProcessConsent(Request.Form)
' 委任トークンを Cookie へ格納
Dim cookie = New HttpCookie("consentToken")
cookie("delToken") = consentToken.DelegationToken
cookie.Expires = consentToken.Expiry.ToLocalTime
End If
' Default.aspx へリダイレクト
Response.Redirect("Default.aspx")
End Sub
End Class
ページが読み込まれた時,