Можно ли фильтровать пользователей на основе SignInNames. Я попытался запуститьЗапрос User.SignInNames с использованием Microsoft.Azure.ActiveDirectory.GraphClient на арендаторе B2C
Client.Users.Where(u => u.SignInNames.Any(x => x.Type == "emailAddress" && x.Value == email)).ExecuteSingleAsync() as User;
где email
является локальным учетной записью пользователя, чей Логин имя [email protected]{mytenant}.onmicrosoft.com
Но я просто получить
Microsoft.Data.OData.ODataErrorException: Обнаружен внутренний сервера ошибка. ---> System.Data.Services.Client.DataServiceQueryException: при обработке этого запроса произошла ошибка . ---> System.Data.Services.Client.DataServiceClientException: {"odata.error": {"code": "Service_InternalServerError", "message": {"lang": "en", "value": " Обнаружена ошибка . «}}}
Любая идея, что не так?
Кажется, что клиент не нравится, если у вас есть несколько операций в запросе, работает SignInNames.Any(x => x.Value == email)
работает отлично.
Да, запрос signInNames поддерживается только с использованием значения. Он будет искать все типы. Тип предназначен в основном для информационных целей. –