【发布时间】:2020-04-28 18:59:55
【问题描述】:
我正在尝试使用C# .NET SDK 和this answer 中描述的过滤器在我们的 Azure AD B2C 租户上通过登录电子邮件查找用户,如下所示:
private async Task<User> GetB2CUserByEmail(string email)
{
IGraphServiceUsersCollectionPage collectionPage = await this.GraphServiceClient.Users
.Request()
.Filter($"signInNames/any(c:c/value eq '{email}')")
.Select(this.UserSelectValue)
.GetAsync();
if (collectionPage == null || collectionPage.Count == 0)
{
return null;
}
return collectionPage[0];
}
我收到了错误:
Microsoft.Graph.ServiceException : Code: BadRequest
Message: Filter not supported.
其中this.UserSelectValue 是一个属性选择列表,如"id,givenName..."。我已经确认这不是问题,因为我们有一种类似的工作方法,可以通过扩展属性查找用户;唯一的区别是.Filter() 参数。
我怎样才能做到这一点?谢谢。
【问题讨论】:
标签: c# .net-core azure-active-directory azure-ad-b2c azure-ad-graph-api