在B2C租户上使用Microsoft.Azure.ActiveDirectory.GraphClient查询User.SignInNames

时间:2017-01-11 17:04:15

标签: c# asp.net azure azure-ad-b2c azure-ad-graph-api

是否可以根据SignInNames过滤用户。我试着跑

Client.Users.Where(u => u.SignInNames.Any(x => x.Type == "emailAddress" && x.Value == email)).ExecuteSingleAsync() as User;

其中email是登录名为admin@{mytenant}.onmicrosoft.com

的本地帐户用户

但我得到了

  

Microsoft.Data.OData.ODataErrorException:遇到内部问题   服务器错误。 --->   System.Data.Services.Client.DataServiceQueryException:错误   处理此请求时发生。 --->   System.Data.Services.Client.DataServiceClientException:   {" odata.error" {"代码":" Service_InternalServerError""消息" {"朗&#34 ;: "恩""值":"遇到   内部服务器错误。"}}}

知道什么是错的吗?

如果您的查询中有多个操作,客户似乎不喜欢它,运行SignInNames.Any(x => x.Value == email)工作正常。

1 个答案:

答案 0 :(得分:1)

目前,无法过滤除SignInName值以外的任何内容。

如果您希望看到这一点,可以在Graph API UserVoice forum中提出要求。