我正在使用Microsoft AAD B2C与用户流。
我有一个返回这些身份对象的用户:
"identities": [
{
"signInType": "phoneNumber",
"issuer": "ourtenant.onmicrosoft.com",
"issuerAssignedId": "+55444444444"
},
{
"signInType": "userPrincipalName",
"issuer": "ourtenant.onmicrosoft.com",
"issuerAssignedId": "ausdhasuduasd@ourtenant.onmicrosoft.com"
}
],
我正在尝试筛选:
https://graph.microsoft.com/beta/tenant.onmicrosoft.com/users?$filter=(identities/any(i:i/issuer eq 'ourtenant.onmicrosoft.com' and i/issuerAssignedId eq '55444444444'))
https://graph.microsoft.com/v1.0/users?$select=id,displayName,identities&$filter=identities/any(c:c/issuerAssignedId eq '+55444444444' and c/issuer eq 'ourtenant.onmicrosoft.com')
但它只返回:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users",
"value": []
}
我也试过把i换成c,x,过滤顺序,不使用select,但是不起作用,只返回value:[].
租户是正确的,用户号码也是正确的。我尝试使用beta和v1.0。尝试在phoneNumber上使用“startsWith”进行过滤,但没有返回任何内容。
1条答案
按热度按时间xn1cxnb41#
我尝试在我的环境中重现相同的结果,结果如下:
我获取了用户的身份:
当我尝试过滤身份时,我遇到了如下所示的相同问题:
如果在调用API时传递了错误的值,则通常会发生此问题。
+
,同时传递电话号码,如下所示:我能够成功执行查询,如下所示:
参考资料:
列出用户- Microsoft Graph v1.0
User query $filter ignores identities/issuer - MS Graph API and Azure B2C by Andrew Campbell