首页 > 解决方案 > ADFS 2019 在从客户端返回的令牌中包含角色

问题描述

我们正在运行 ADFS 2019 并且有一个 WorkerService 需要针对 ADFS 进行身份验证以获取 AccessToken,以便我们可以访问一些 WebAPI。我们使用带有以下代码的 .Net6 和 MSAL。

string[] scopes = new string[] { "https://{resorceUIRL}/openid", "https://{resorceUIRL}/profile", "https://{resorceUIRL}/allatclaims" };
                IConfidentialClientApplication app = ConfidentialClientApplicationBuilder.Create(AdfsClientId).WithClientSecret(AdfsSecret).WithAdfsAuthority(AdfsAuthority).Build();
                AuthenticationResult ar = await app.AcquireTokenForClient(scopes).WithAdfsAuthority(AdfsAuthority).ExecuteAsync();

                AccessToken = ar.AccessToken;

我们正在正确地进行身份验证并获取 AccessToken,但是,它只是一个 AccessToken。我们有需要角色的 API。有没有办法:

  1. 将角色分配给 ClientId 并能够在 AccessToken 中返回它们
  2. 让 ClientId 关联/模拟 AD 用户并返回该用户的权限/角色

还是有其他方法可以做到这一点?

这是针对 ADFS 2019 而不是 Azure Active Directory

标签: adfs.net-6.0

解决方案


推荐阅读