IdentityModel: получение UserInfo из токена доступа через IdentityServer
У меня есть сервер идентификации ( IdentityServer4), настроенный и работающий как localhost. Мой клиентский проект - AspNet WebForms на данный момент. Есть еще одно приложение (javascript), которое использует тот же сервер идентификации.
Это javascript-приложение вызывает мое веб-приложение и предоставляет accessToken, предоставляемый через IdentityServer.
Теперь я хочу вызвать конечную точку userInfo, чтобы получить openId и область видимости профиля.
Я делаю, как упомянуто в документации документации, в надежде получить userInfo, используя IdentityModel. Но на данный момент я не могу получить какую-либо информацию о пользователе. Ниже приведен пример ответа от сервера идентификации.
Вот код, упомянутый в документации
protected void Page_Load(object sender, EventArgs e)
{
var httpclient = new HttpClient();
var token = HttpContext.Current.Request.Headers.Get("Authorization");
var response = httpclient.GetUserInfoAsync(new UserInfoRequest
{
Address = "https://localhost:44367/connect/userinfo",
Token = token
});
if (response.IsFaulted)
{
}
}
Должен ли я как-то также указывать clientId при отправке запроса на identityServer? И, не знаю, что происходит и как я могу получить userInfo из accessToken.
Обратите внимание, что мой клиент в проекте веб-формы Asp.Net