summaryrefslogtreecommitdiffstats
path: root/samples/OAuthClient/AzureAD.aspx.cs
diff options
context:
space:
mode:
Diffstat (limited to 'samples/OAuthClient/AzureAD.aspx.cs')
-rw-r--r--samples/OAuthClient/AzureAD.aspx.cs45
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