繁体   English   中英

如何使用 Azure Active Directory Graph Client 在 Azure B2C 中查找具有相同用户名\电子邮件地址的所有用户?

[英]How to find all users with the same User name\email address in Azure B2C using Azure Active Directory Graph Client?

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

请注意,不同的是Source列。 email 是一样的。

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

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)

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

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

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

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

从 Chris Padget 的回答中,我可以得到拥有 Facebook 作为发行人的用户,如下所示:

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

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

#######

注意:需要对 email 地址进行编码。 我刚刚使用 C# 代码和 email 地址(如someuser+1@gmail.com )测试了这个$filter ,但它没有检索用户。 那是因为+符号。

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

更多信息在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM