Azure active directory Azure AD OAuth流返回我“;id令牌”;。我需要&x2018;访问令牌&x2019;能够获取组的列表
在我的Azure AD应用程序清单中,我有Azure active directory Azure AD OAuth流返回我“;id令牌”;。我需要&x2018;访问令牌&x2019;能够获取组的列表,azure-active-directory,Azure Active Directory,在我的Azure AD应用程序清单中,我有“GroupMembershipClaimes”:“SecurityGroup” 但是,我通过Azure AD OAuth2身份验证获得的JWT令牌不包括“groups”或“hasGroups”字段 经过研究,我发现了一个非常简单的答案: 似乎在OAuth2身份验证之后,我得到了一个id令牌,我需要找到一种方法来获得访问令牌 如何让Azure AD OAuth2身份验证向我发送“访问令牌” 更新 感谢@Philippe Signoret的关注 通过以下
“GroupMembershipClaimes”:“SecurityGroup”
但是,我通过Azure AD OAuth2身份验证获得的JWT令牌不包括“groups”或“hasGroups”字段
经过研究,我发现了一个非常简单的答案:
似乎在OAuth2身份验证之后,我得到了一个id令牌
,我需要找到一种方法来获得访问令牌
如何让Azure AD OAuth2身份验证向我发送“访问令牌”
更新
感谢@Philippe Signoret的关注
通过以下步骤创建AAD应用程序:
此隐式流URL会导致此问题:
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?client_id={app id}&response_type=token&redirect_uri=http%3A%2F%2Flocalhost%2f&scope=openid&state=12345&nonce=678910
以下是groupMembershipClaims的设置方式:
缺少组的JWT如下所示:
{
"aud": "00000003-0000-0000-c000-000000000000",
"iss": "https://sts.windows.net/XXXXXXXXXX--XXXXXXXXXX/",
"iat": XXXXXXXXXX,
"nbf": XXXXXXXXXX,
"exp": XXXXXXXXXX,
"acct": 1,
"acr": "1",
"aio": "XXXXXXXXXX",
"altsecid": "5::XXXXXXXXXX",
"amr": [
"pwd"
],
"app_displayname": "XXXXXXXXXX",
"appid": "XXXXXXXXXX",
"appidacr": "0",
"email": "XXXXXXXXXX",
"idp": "https://sts.windows.net/XXXXXXXXXX/",
"ipaddr": "XXXXXXXXXX",
"name": "XXXXXXXXXX",
"oid": "XXXXXXXXXX",
"platf": "3",
"puid": "XXXXXXXXXX",
"scp": "Directory.Read.All User.Read profile openid email",
"signin_state": [
"kmsi"
],
"sub": "XXXXXXXXXX",
"tid": "XXXXXXXXXX",
"unique_name": "XXXXXXXXXX",
"uti": "XXXXXXXXXX",
"ver": "1.0",
"xms_st": {
"sub": "XXXXXXXXXX"
},
"xms_tcdt": XXXXXXXXXX
}
对于大多数身份提供程序,将
response\u type
参数作为id\u令牌
而不是token
发送会从令牌端点返回访问令牌和id令牌。我建议你在Azure中也尝试同样的方法 你能分享演示你如何启动Azure AD登录的代码吗?@PhilippeSignoret谢谢你的帮助。我包括了更多的细节。我屏蔽了潜在的敏感数据。请让我知道,如果我需要添加更多的细节。