2015-01-16 3 views
2

Я ищу для реализации авторизации OAuth2 для своего веб-api и использования документов Google в качестве модели. Конкретным потоком, который я пытаюсь реализовать, является поток «Учетная запись службы»: here (который, как я понимаю, также известен как поток токена носителя JWT?).Ток-токер канала JWT с IdentityServer v3

Как я могу реализовать это с помощью Thinktecture в моем приложении MVC? (Или есть лучшая альтернатива?)

ответ

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

вопрос имеет смысл, но я не знаком с этой стороной, извините –

Смежные вопросы