2015-01-16 5 views
2

웹 API에 대한 OAuth2 인증을 구현하고 Google의 문서를 모델로 사용하려고합니다. 내가 구현하려고하는 특정 흐름은 "서비스 계정"흐름입니다 : here (이해할 수 있듯이 JWT 전달자 토큰 흐름이라고도합니다).IdentityServer v3을 사용하는 JWT 베어러 토큰 플로우

내 MVC 앱에서 Thinktecture를 사용하여 어떻게 구현할 수 있습니까? (또는 더 나은 대안이 무엇입니까?)

답변

1

당신은 V2 (https://github.com/thinktecture/Thinktecture.IdentityServer.v2/blob/master/samples/AdfsIntegrationSampleClient/AdfsIntegrationSampleClient/Program.cs#L123)의 일부로 제공 한 샘플과 같은 코드를 사용할 수 있어야합니다, 그래서 :

 var client = new HttpClient { BaseAddress = new Uri(idsrvEndpoint) }; 

     var values = new Dictionary<string, string> 
     { 
      { OAuth2Constants.GrantType, "urn:ietf:params:oauth:grant-type:jwt-bearer" }, 
      { OAuth2Constants.Assertion, jwt }, 
      { OAuth2Constants.Scope, realm } 
     }; 

     var form = new FormUrlEncodedContent(values); 

     var response = client.PostAsync("", form).Result; 
     response.EnsureSuccessStatusCode(); 

     var tokenResponse = response.Content.ReadAsStringAsync().Result; 
     var json = JObject.Parse(tokenResponse); 
     return json["access_token"].ToString(); 
+0

이것은 클라이언트가 될 것입니다 내 앱에서 액세스 토큰을 요청하는 앱, 맞습니까? 실제로 서버 측 (즉, app.UseIdentityServer (......))을 파악하려고합니다. 질문이 의미가 있습니까? – Roly

+0

질문에 의미가 있지만, 나는 그면에 익숙하지 않다. 미안하다. –