ADFS本机应用程序访问令牌缺少声明

时间:2019-09-17 13:06:05

标签: asp.net oauth oauth-2.0 openid adfs

我正在尝试对使用ADFS与我的ASP.NET MVC API通信的WPF应用程序进行身份验证。我设法获取了访问令牌并使用它正确地传递了Authorize属性,但是我注意到访问令牌缺少一些我想要的重要声明(例如upn)。用于API控制器中的唯一用户标识。我还注意到,成功认证后,IdToken字符串和UserInfo对象与AccessToken对象中的AuthenticationResult字符串一起可用,并且它们都包含正确的{{ 1}}值。

问题是当我收到upn响应错误时,无法将IdToken与授权标头一起使用。

我正在使用客户端应用程序中的Unauthorized和API中的Microsoft.IdentityModel.Clients.ActiveDirectory库。

客户代码:

Microsoft.Owin.Security.ActiveDirectory

API代码:

var authRes = await authCtx.AcquireTokenAsync(resourceAddress, clientId, new Uri(redirectUri), new PlatformParameters(PromptBehavior.Auto)); //resourceAddress equals the API url

还为ADFS服务器上的UPN值配置了声明规则:

UPN rule

0 个答案:

没有答案