Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.74 KB | None | 0 0
  1. using IdentityModel.Client;
  2. using Newtonsoft.Json.Linq;
  3. using System;
  4. using System.Net.Http;
  5. using System.Threading.Tasks;
  6.  
  7. namespace FastandMax
  8. {
  9.     public class Program
  10.     {
  11.         private static async Task Main()
  12.         {
  13.             // discover endpoints from metadata
  14.             var client = new HttpClient();
  15.  
  16.             var disco = await client.GetDiscoveryDocumentAsync("http://localhost:5000");
  17.             if (disco.IsError)
  18.             {
  19.                 Console.WriteLine(disco.Error);
  20.                 return;
  21.             }
  22.  
  23.             // request token
  24.             var tokenResponse = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
  25.             {
  26.                 Address = disco.TokenEndpoint,
  27.                 ClientId = "ro.client",
  28.                 ClientSecret = "secret",
  29.  
  30.                 UserName = "alice",
  31.                 Password = "Pass123$",
  32.                 Scope = "api1"
  33.             });
  34.  
  35.             if (tokenResponse.IsError)
  36.             {
  37.                 Console.WriteLine(tokenResponse.Error);
  38.                 return;
  39.             }
  40.  
  41.             Console.WriteLine(tokenResponse.Json);
  42.             Console.WriteLine("\n\n");
  43.  
  44.             // call api
  45.             var apiClient = new HttpClient();
  46.             apiClient.SetBearerToken(tokenResponse.AccessToken);
  47.  
  48.             var response = await apiClient.GetAsync("http://localhost:5001/identity");
  49.             if (!response.IsSuccessStatusCode)
  50.             {
  51.                 Console.WriteLine(response.StatusCode);
  52.             }
  53.             else
  54.             {
  55.                 var content = response.Content.ReadAsStringAsync().Result;
  56.                 Console.WriteLine(JArray.Parse(content));
  57.             }
  58.         }
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement