我已经设置了身份服务器(IdentityServer4)并以localhost身份运行。 目前,我的客户项目是 AspNet WebForms 。还有另一个使用相同身份服务器的应用程序(javascript)。
此javascript应用程序调用了我的Webform应用程序,并提供了通过IdentityServer提供的accessToken。
现在,我想调用userInfo端点以获取openId和配置文件范围。
我正在按照文档documentation中所述进行操作,希望使用IdentityModel获取userInfo。但是我目前无法获得任何用户信息。以下是来自Identityserver的示例响应
这是文档中提到的代码
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)
{
}
}
在向identityServer发出请求时,是否还必须以某种方式提供clientId? 而且,我不知道发生了什么问题以及如何从accessToken中获取userInfo。
请注意,我的客户在Asp.Net Webform项目中