【问题标题】:Azure AD JWT authentication - Claims are missingAzure AD JWT 身份验证 - 缺少声明
【发布时间】:2017-09-09 08:01:40
【问题描述】:

我正在尝试从 Azure AD 获取用户组。 我用这些简单的代码行得到了一个令牌:

                if (this.user == null)
                    user = await AuthenticationManager.DefaultManager.CurrentClient.LoginAsync(this, MobileServiceAuthenticationProvider.WindowsAzureActiveDirectory);
                if (user != null)
                {
                    System.Diagnostics.Debug.WriteLine("Token = " + user.MobileServiceAuthenticationToken);
                }

当我将令牌粘贴到本网站上的 JWT 调试器中时: https://jwt.io/ 我得到了一些信息(stable_sid、sid、sub、idp、 ver, iss, aud, exp, nbf) 但我似乎无法让这些团体在其中声明。

我在 Azured AD 中添加了读取 Microsoft 图形和 Azure 活动目录组所需的权限,但它没有更改令牌中的任何内容。

我缺少什么来获取用户组?

提前谢谢你。

编辑:评论者指出我忘了提到我将清单修改为“groupMembershipClaims”:“SecurityGroup”,我也尝试了“All”但仍然没有声明。

【问题讨论】:

标签: c# azure jwt azure-active-directory claims-based-identity


【解决方案1】:

好的,所以这里实际上没有问题。

访问用户组我们应该做的是使用身份验证令牌来调用 Microsoft Graph API,然后这将使我们能够访问租户中的组和用户。

https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-graph-api-quickstart

【讨论】:

  • 执行此操作的最佳位置在哪里,我们需要多久注入一次此声明信息?
  • @twilliams 用于 ClientId/Client Secret (Jwt) Auth then JwtBearerOptions.Events.OnTokenValidated。对于用户名/密码验证 (Oauth),然后是 OpenIdConnectOptions.Events.OnAuthorizationCodeReceived
猜你喜欢
  • 2021-08-06
  • 2018-03-27
  • 2021-11-27
  • 2018-05-10
  • 1970-01-01
  • 2019-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多