IdentityModel:通过IdentityServer从访问令牌中获取UserInfo

时间:2019-03-28 14:18:05

标签: c# webforms identityserver4 dotnet-httpclient identitymodel

我已经设置了身份服务器(IdentityServer4)并以localhost身份运行。 目前,我的客户项目是 AspNet WebForms 。还有另一个使用相同身份服务器的应用程序(javascript)。

此javascript应用程序调用了我的Webform应用程序,并提供了通过IdentityServer提供的accessToken。

现在,我想调用userInfo端点以获取openId和配置文件范围。

我正在按照文档documentation中所述进行操作,希望使用IdentityModel获取userInfo。但是我目前无法获得任何用户信息。以下是来自Identityserver的示例响应

enter image description here

这是文档中提到的代码

   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项目中

0 个答案:

没有答案