2017-01-05 11 views
0

Я хотел бы получить «access_token» и «id_token» с конечной точки Token через поток кода авторизации. Но, я получаю ошибку «invalid_grant» при вызове конечной точки маркера со следующими параметрами на почтальоне.Как получить id_token из TokenEndpoint IdentityServer4 через поток authorization_code?

POST /connect/token HTTP/1.1 
Host: localhost:2000 
Content-Type: application/x-www-form-urlencoded 
Cache-Control: no-cache 
Postman-Token: a8a29659-0ea3-e7dc-3bd6-6e6630a7370d 

client_id=client 
&client_secret=client 
&grant_type=authorization_code 
&username=admin 
&password=admin 
&scope=openid+profile 

Client Configuration:

new Client 
{ 
    ClientId = "client", 
    ClientSecrets = 
    { 
    new Secret("client".Sha256()) 
    }, 
    AllowedGrantTypes = new List<string> { OidcConstants.GrantTypes.AuthorizationCode }, 
    AllowedScopes = { 
    StandardScopes.OpenId.Name, 
    StandardScopes.Profile.Name, 
    } 
} 

Что плохого в моем разделе конфигурации клиента? и как сделать успешный почтовый запрос для конечной точки Token?

ответ

2

Для типа авторизационного кода необходимо указать параметр code, который будет отправлен во время запроса на токен (см. RFC6749 section 4.1.3).

Этот код выдается сервером авторизации после того, как владелец ресурса разрешил клиенту (см. RFC6749 section 4.1.2).