在 JWT 令牌的声明中,PUID 值是从 altsecid 声明
{
"aud": "https://graph.windows.net",
"iss": "https://sts.windows.net/b7-******--5/",
"iat": 1579684439,
"nbf": 1579684439,
"exp": 1579688339,
"altsecid": "5::10*********E", --> PUID value
"acr": "1",
"amr": [
"pwd",
"rsa"
],
"idp": "https://sts.windows.net/b*-**-**-**9/",
"tid": "b7******---**--****5",
"unique_name": "abc@xyz",
"ver": "1.0"
}
需要注意的点是: 在 Microsoft Login 的情况下,令牌没有对象 id (oid) 声明。 我们的代码中有自定义逻辑来处理来自 AAD 登录的 MSA 登录。
确定给定令牌来自 AAD 与 Microsoft Login 的正确标识符是什么?
目前,我们有以下逻辑:
if tid == "F8CDEF31-A31E-4B4A-93E4-5F571E91255A" (live.com tenant id)
OR idp == "live.com"
但我想确定是否可以依赖 altsecid 声明作为识别 Microsoft(个人帐户)登录的事实来源?
根据文档,您可以使用发行人声明:
标识构建和返回令牌的安全令牌服务 (STS) 以及对用户进行身份验证的 Azure AD 租户。如果令牌是由 v2.0 端点颁发的,则 URI 将以 /v2.0 结尾。 指示用户是 Microsoft 帐户的消费者用户的 GUID 为 9188040d-6c67-4c5b-b112-36a304b66dad。
或 tid 声明:
代表用户所属 Azure AD 租户的 GUID。对于工作和学校帐户,GUID 是用户所属组织的不可变租户 ID。对于个人账户,值为 9188040d-6c67-4c5b-b112-36a304b66dad。需要配置文件范围才能接收此声明。
因此 Microsoft 帐户始终具有相同的租户 ID。 但这似乎不是您所拥有的。
我不确定您为什么要在用于 Azure AD Graph API 的访问令牌中查找此信息。 您确实不应该解码不适合您的访问令牌。 您应该查看提供给您的应用程序的 ID 令牌,或者用于您的 API 的访问令牌。
“用户数据”:{ “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.TFLUserAPICalled”:0.19140625, “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.react-web-client.hfmmEnabled”:0.216796875, “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.react-web-client.isTelProtocolHandlerRegistered”:0.25390625, “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.react-web-client.SmbUserIntent”:0.4296875, “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.react-web-client.chatListLastAccessDate_FlyoutHomepage”:0.27734375, “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.react-web-client.previousActiveNoiseSuppressionMode”:0.263671875, “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.react-web-client.noiseSuppressionMode”:0.236328125, “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.react-web-client.user-experience-preferences-key”:0.25, “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.react-web-client.displayMusicModeInFlyout”:0.2421875, “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.react-web-client.twowaysms.50:smsunverified:+17143765710,8:live:robert_luque”:0。 455078125, “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.react-web-client.ecEnabled”:0.2109375, “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.react-web-client.CallingDropsCollectorService:CallEntries”:0.267578125, “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.react-web-client.TflFreProfileCardDisplayed”:0.244140625, “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.react-web-client.tmp.AQMkADAwATE0YzgwLWNmNTgtNzIzOC0wMAItMDAKAEYAAANY0Zk3 A9ZTQJf_N5k6JPKYBwDx2Zg6Az1cTpO-NxTTquiyAAAAfydY7gAAAPHZmDoDPVxOk783FNOq6LIABbuBnFsAAAA=.refreshExternalAccount":0.6328125, “tmp.9188040d-6c67-4c5b-b112-36a304b66dad.00000000-0000-0000-1d78-7bf3f9b843f0.react-web-client.TflSignInFlyoutDisplayed”:0.240234375, “其他TMP”:1245.794921875, “非TMP”:55.994140625 } }