![](/img/trans.png)
[英]Azure Active Directory B2C log in user with specified email address
[英]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.