gpt4 book ai didi

azure-ad-b2c - 混合大小写 IssuerAssignedId 的 Graph B2C 过滤查询

转载 作者:行者123 更新时间:2023-12-05 06:07:58 26 4
gpt4 key购买 nike

在我们的 Azure B2C 中,我们允许用户使用大小写混合的电子邮件作为登录名 (IssuerAssignedId) 进行注册。现在我们有很多用户(不是全部,而是很多)使用 IssuerAssignedId,例如 Name.Surname@domain.com

在我们的 API 中,我们有端点通过给定的电子邮件对用户执行业务验证,并且 API 客户端以全小写形式提供这些电子邮件。因此,如果实际注册的 B2C IssuerAssignedId 为 Name.Surname@domain.com,则在提供类似 name.surname@domain.com 的电子邮件时,Graph API 调用无法找到用户。 p>

我们使用标准过滤器语法:

await _graphServiceClient.Users
.Request()
.Filter($"identities/any(c: c/issuerAssignedId eq '{email}' and c/issuer eq '{issuer}')")
.Select(e => new { e.DisplayName, e.Id, e.Identities})
.GetAsync();

问题是过滤器查询不允许使用像tolower()这样的odata函数

$"identities/any(c: tolower(c/issuerAssignedId) eq '{email}' and c/issuer eq '{issuer}')"

所以我无法规范化来自 lambda 参数的电子邮件。据我了解,与标准相比,Graph B2C 的 odata 有一些限制。

解决此类问题的方法是什么?

最佳答案

如果您使用图形 API 创建用户记录,您可以将 IssuerAssignedId 的小写版本分配给 mailextension attribute .然后您可以将其用于小写搜索。

对于现有数据,您可以通过Graph API PATCH调用将小写值填充到新列中。

关于azure-ad-b2c - 混合大小写 IssuerAssignedId 的 Graph B2C 过滤查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65235176/

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