Я следую нескольким руководствам, документации IdentityServer4 и ее терминологии: Терминология Я не понимаю, с какой конечной точки получить токен идентификатора для пользователя. Я думал, что могу изменить существующий способ получить токен доступа, чтобы получить токен идентификатора, но ни один из методов не дает результата:
var disco = new DiscoveryClient("http://localhost:55678");
var discoResponse = disco.GetAsync().Result;
if (discoResponse.IsError)
{
return null;
}
var tokenClient = new TokenClient(discoResponse.TokenEndpoint, "mvc", "secret");
var tokenResponse = tokenClient.RequestResourceOwnerPasswordAsync(context.EmailAddress, context.Password, "email");
var token = tokenResponse.Result;
Я понимаю, что путь resourceownerpassword предназначен только для доступа к ресурсу с использованием пароля, а не для идентификации пользователя.
Когда я пытался настроить jwtendpoint, я думал, что могу запросить токен id, но безрезультатно:
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(opts =>
{
opts.Authority = "http://localhost:55678/";
opts.Audience = "api1";
opts.RequireHttpsMetadata = false;
opts.SaveToken = true;
});
Я не знаю, какой пользователь конечной точки должен получить токен идентификатора jwt.