【问题标题】:How to find all users with the same User name\email address in Azure B2C using Azure Active Directory Graph Client?如何使用 Azure Active Directory Graph Client 在 Azure B2C 中查找具有相同用户名\电子邮件地址的所有用户?
【发布时间】:2019-11-16 02:13:34
【问题描述】:

B2C Azure AD 的用户具有相同的电子邮件地址,例如“someuser@gmail.com”。

User name                User type       Source                
someuser@gmail.com       Member          Azure Active Directory
someuser@gmail.com       Member          Microsoft Account
someuser@gmail.com       Member          Facebook

请注意,来源列有所不同。电子邮件是一样的。

现在当我进行这样的搜索时:

GET https://graph.windows.net/myb2ctenant.onmicrosoft.com/users?api-version=1.6&$filter=signInNames/any(x:x/value%20eq%20%27someuser@gmail.com%27)

我只得到一行:源 = Azure Active Directory 的一行,但没有来自外部身份提供者 (IDP) 的其他 2 行。

如何一次性检索匹配此用户名\电子邮件地址的 3 行?

一旦我得到这 3 个用户,我想删除它们。

####### 编辑#######

来自 Chris Padget answer 我可以像这样获得将 Facebook 作为发行人的用户:

Get-User $filter=userIdentities/any(x:x/issuer%20eq%20%27facebook.com%27)

【问题讨论】:

    标签: c# email azure-active-directory azure-ad-b2c delete-row


    【解决方案1】:

    在摆弄$filter 选项后,我让它像这样一次性工作:

    Get-User $filter=signInNames/any(x:x/value%20eq%20%27someuser@gmail.com%27)%20or%20otherMails/any(y:y%20eq%20%27someuser@gmail.com%27)
    

    对于外部身份提供者,我们需要检查otherMails 属性。

    #######

    注意:必须对电子邮件地址进行编码。我刚刚使用带有someuser+1@gmail.com 之类的电子邮件地址的C# 代码测试了这个$filter,它没有检索用户。那是因为+ 符号。

    我们可以使用HttpUtility.UrlEncode(email)

    更多信息here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      • 2021-05-06
      相关资源
      最近更新 更多