簡體   English   中英

根據 AADB2C 屬性值在 AAD 中查找用戶

[英]Look up user in AAD based on AADB2C attribute value

如果我在 Aure AD B2C 中有一個基於 Azure AD(企業)標識創建的用戶(如此處所述: https : //docs.microsoft.com/en-us/azure/active-directory-b2c/active- directory-b2c-setup-aad-custom ),是否有一個屬性存儲在 AADB2C 中,允許我在 AAD 中查找(使用 Graph API 或類似的)用戶對象? 我看到在 AADB2C 屬性中,有userPrincipalNameissuerUserId,但如果這兩個屬性中的任何一個與 AAD 中存儲的任何值匹配,我就不清楚。

謝謝!

馬丁

對於外部帳戶,將外部頒發者(即Azure AD)和外部用戶標識符(即Azure AD 用戶的對象標識符)寫入Azure AD B2C 目錄中用戶對象的“userIdentities”屬性中,其中“issuerUserId”屬性包含外部用戶標識符的 Base64 編碼:

{
    "userIdentities": [
        {
            "issuer": "contoso.com",
            "issuerUserId": "Mjk2NzdlNTAtY2MwZS00MmU5LWJhNWMtZjFmMDdkZTUwMDhm"
        }
    ]
}

要通過外部帳戶查找用戶對象,您可以調用以下 Graph API 操作,其中“x/issuerUserId”值設置為外部用戶標識符的十六進制編碼:

GET https://graph.windows.net/myorganization/users?$filter=userIdentities/any(x:x/issuer eq 'contoso.com' and x/issuerUserId eq X'32393637376535302d636330652d343265392d626135632d663166303764653530303866')

更新:

來自外部身份提供者的 issuerUserId 應該被視為字符串而不是十進制。 在上面的示例中,當您對“Mjk2NzdlNTAtY2MwZS00MmU5LWJhNWMtZjFmMDdkZTUwMDhm”進行 base 64 解碼時,它會返回一個 guid 29677e50-cc0e-42e9-ba5c-f1f07de5008f 在 facebook 的情況下, issuerUserId 將是一個數字,但仍應視為字符串。

下一步將是使用字符串到十六進制轉換器,然后在查詢中使用該值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM