我正在使用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();
}