Azure AD B2C .Net SDK-通过电子邮件检索用户

问题描述 投票:0回答:1

[我正在尝试使用C# .NET SDKthis 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
1个回答
0
投票

signInNames中没有user resource type属性。这就是您收到此错误的原因。

© www.soinside.com 2019 - 2024. All rights reserved.