如何使用Azure Active Directory图客户端在Azure B2C中查找具有相同用户名/电子邮件地址的所有用户?

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)
keith1985 回答:如何使用Azure Active Directory图客户端在Azure B2C中查找具有相同用户名/电子邮件地址的所有用户?

摆弄了$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属性。

#######

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

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

更多信息here

本文链接:https://www.f2er.com/3163789.html

大家都在问