Azure B2C 检查用户是否存在?



我正在使用Azure B2C,后跟文章

https://learn.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet

已成功添加用户。但是问题是,当我创建新用户时,如何使用用户名检查用户是否存在?

您可以使用signInNames过滤器按电子邮件地址或用户名查找用户。

对于电子邮件地址:

`GET https://graph.windows.net/myorganization/users?$filter=signInNames/any(x:x/value eq 'someone@somewhere.com')&api-version=1.6`

对于用户名:

`https://graph.windows.net/myorganization/users?$filter=signInNames/any(x:x/value eq 'someone')&api-version=1.6`

以编程方式,检查电子邮件地址是否已存在的用户。 下面是使用 C# 和图形客户端库的解决方案。

private async Task<User> CheckUserAlreadyExistAsync(string email, CancellationToken ct)
{
var filter = $"identities/any(c:c/issuerAssignedId eq '{email}' and c/issuer eq '{email}')";
var request = _graphServiceClient.Users.Request()
.Filter(filter)
.Select(userSelectQuery)
.Expand(e => e.AppRoleAssignments);
var userCollectionPage = await request.GetAsync(ct).ConfigureAwait(false);
return userCollectionPage.FirstOrDefault();
}

最新更新