idAzure AD 用戶物件中的值與相關問題中回答的ID 令牌oid中的宣告值相同,但情況似乎與Microsoft 帳戶的用戶不同。
例如, Microsoft Graph API ( /me) 回傳id為 ,0123456789abcdef但oid在同一用戶的 ID 令牌中是 UUID 格式的字串 ( 00000000-0000-0000-0123-456789abcdef)。
我想知道我是否可以判斷兩個不同格式的ID是否相同。
$ curl https://graph.microsoft.com/v1.0/users/me -H 'Authorization: Bearer ...' | jq .
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
"displayName": "",
"surname": "",
"givenName": "",
"id": "0123456789abcdef",
"userPrincipalName": "[email protected]",
"businessPhones": [],
"jobTitle": null,
"mail": null,
"mobilePhone": null,
"officeLocation": null,
"preferredLanguage": null
}
{
"ver": '2.0',
"iss": 'https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0',
"sub": '...',
"aud": 'xxxxxxxx-xxx-xxxx-xxxx-xxxxxxxxxxxx',
"exp": 1668257519,
"iat": 1668170819,
"nbf": 1668170819,
"preferred_username": "[email protected]",
"oid": "00000000-0000-0000-0123-456789abcdef",
"email": "[email protected]",
"tid": "xxxxxxxx-xxx-xxxx-xxxx-xxxxxxxxxxxx",
"nonce": "...",
}
uj5u.com熱心網友回復:
根據檔案,用戶 id(從 directoryObject 繼承)是物件的唯一識別符號,id 屬性的值通常但不限于 GUID 的形式;將其視為不透明的識別符號,不要依賴它作為 GUID。
oid宣告與 GUID 相同,user id但始終采用 GUID 的形式。
在此基礎上0123456789abcdef與00000000-0000-0000-0123-456789abcdef. 00000000-0000-0000-0123-456789abcdef表示 的格式化值0123456789abcdef。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/532149.html
