gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 10:07:47 26 4
gpt4 key购买 nike

我正在尝试使用 C# .NET SDK 在我们的 Azure AD B2C 租户上通过登录电子邮件查找用户和 this answer 中描述的过滤器,像这样:

        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() 参数。

我怎样才能使这项工作?谢谢。

最佳答案

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

您应该使用 .Filter("identities/any(c:c/issuerAssignedId eq '{email}' and c/issuer eq '{email}')")

详见官方样本here .

关于c# - Azure AD B2C .Net SDK - 通过电子邮件检索用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61487904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com