diff options
Diffstat (limited to 'samples/OAuthClient/AzureAD.aspx.cs')
-rw-r--r-- | samples/OAuthClient/AzureAD.aspx.cs | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/samples/OAuthClient/AzureAD.aspx.cs b/samples/OAuthClient/AzureAD.aspx.cs index e392725..3943cc8 100644 --- a/samples/OAuthClient/AzureAD.aspx.cs +++ b/samples/OAuthClient/AzureAD.aspx.cs @@ -17,26 +17,33 @@ }; protected void Page_Load(object sender, EventArgs e) { - IAuthorizationState authorization = client.ProcessUserAuthorization(); - if (authorization == null) { - // Kick off authorization request - client.RequestUserAuthorization(); - } else { - string token = authorization.AccessToken; - AzureADClaims claimsAD = client.ParseAccessToken(token); + this.RegisterAsyncTask( + new PageAsyncTask( + async ct => { + IAuthorizationState authorization = await client.ProcessUserAuthorizationAsync(new HttpRequestWrapper(Request), ct); + if (authorization == null) { + // Kick off authorization request + var request = await client.PrepareRequestUserAuthorizationAsync(cancellationToken: ct); + await request.SendAsync(); + this.Context.Response.End(); + } else { + string token = authorization.AccessToken; + AzureADClaims claimsAD = client.ParseAccessToken(token); - // Request to AD needs a {tenantid}/users/{userid} - var request = WebRequest.Create("https://graph.windows.net/" + claimsAD.Tid + "/users/" + claimsAD.Oid + "?api-version=0.9"); - request.Headers = new WebHeaderCollection(); - request.Headers.Add("authorization", token); - using (var response = request.GetResponse()) { - using (var responseStream = response.GetResponseStream()) { - var serializer = new DataContractJsonSerializer(typeof(AzureADGraph)); - AzureADGraph graphData = (AzureADGraph)serializer.ReadObject(responseStream); - this.nameLabel.Text = HttpUtility.HtmlEncode(graphData.DisplayName); - } - } - } + // Request to AD needs a {tenantid}/users/{userid} + var request = + WebRequest.Create("https://graph.windows.net/" + claimsAD.Tid + "/users/" + claimsAD.Oid + "?api-version=0.9"); + request.Headers = new WebHeaderCollection(); + request.Headers.Add("authorization", token); + using (var response = request.GetResponse()) { + using (var responseStream = response.GetResponseStream()) { + var serializer = new DataContractJsonSerializer(typeof(AzureADGraph)); + AzureADGraph graphData = (AzureADGraph)serializer.ReadObject(responseStream); + this.nameLabel.Text = HttpUtility.HtmlEncode(graphData.DisplayName); + } + } + } + })); } } }
\ No newline at end of file |