2

Я реализовал сервер авторизации в проекте Asp.Net Web Api, как описано в этом article.Asp.Net Web Api 2 - Как использовать токены доступа JWT и пользовательские заявки, используя Identity Model

Теперь мне нужно использовать сервис от клиента .Net C#. В IdentityModel documentation можно увидеть ниже, например:

var client = new TokenClient(
    "https://server/token", 
    "client_id", 
    "secret"); 

var response = await client.RequestClientCredentialsAsync("scope"); 
var token = response.AccessToken; 

Вопросы:

  1. Какова цель иметь идентификатор клиента и секрет клиента?
  2. Как пользователь будет аутентифицирован с использованием учетных данных пользователя?
  3. Как я могу получить доступ к запросам пользователей на стороне клиента?
  4. Что такое Scope и каково его использование?

ответ

0

К using IdentityModel.Client; токен может быть использован следующим образом.

var client = new TokenClient(authenticationUrl); 
client.Timeout = TimeSpan.FromSeconds(60); 
var tokenResponse = await client.RequestResourceOwnerPasswordAsync(userName, password); 
var handler = new JwtSecurityTokenHandler(); 
var token = handler.ReadJwtToken(tokenResponse.AccessToken); 

в token сам по себе содержит свойства претензии.