我已经使用服务器应用程序以及Web API成功创建了一个新的应用程序组,并且在尝试调用UserInfo之前,OpenID Connect协议正在解决所有问题。依赖方标识符与服务器应用程序的客户机ID的GUID相同(根据我在网上阅读的示例)。尝试调用UserInfo时出现以下错误:
WWW-Authenticate:承载错误=“ invalid_token”,
error_description =“ MSIS9921:收到无效的UserInfo请求。受众群体'microsoft:identityserver:21660d0d-93e8-45db-b770-45db974d432d'
访问令牌中的标识符与UserInfo依赖方信任'urn:microsoft:userinfo'的标识符不同。”
任何帮助将不胜感激。
最佳答案
最近,我还将ADFS与ASP.NET Core OpenIDConnect提供程序结合使用时遇到了此错误。就我而言,完全禁用UserInfo请求可以解决此问题:
var openIdOptions = new OpenIdConnectOptions
{
...
GetClaimsFromUserInfoEndpoint = false
};
完成此操作后,我仍然拥有我的应用程序所需的声明-电子邮件,SID,名称等。我确定在某些情况下这将不起作用,但是很高兴知道您可能根本不需要/ userinfo 。我仍然想知道为什么从ADFS返回的令牌不能用于调用/ userinfo,以及如何在ASP.NET OpenIDConnect提供程序中对其进行修复。
关于adfs - 使用ADFS 4.0和OpenID Connect调用UserInfo时出现401,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41105289/