Войдите в приложение «один арендатор» в арендаторе Entra Foreign ID с «локальной учетной записью» через ciamlogin.com.C#

Место общения программистов C#
Ответить
Anonymous
 Войдите в приложение «один арендатор» в арендаторе Entra Foreign ID с «локальной учетной записью» через ciamlogin.com.

Сообщение Anonymous »

Я пытаюсь создать общедоступное клиентское настольное приложение, которое обращается к API Azure.
Чтобы защитить доступ к этим API, я создал арендатор «Entra Внешний идентификатор» («для клиентов»), в котором я зарегистрировался. my App и добавил базовый пользовательский процесс «регистрация/вход по электронной почте + пароль». Затем добавил
Затем я создал несколько «локальных» тестовых пользователей (пользователей, у которых этот входной внешний идентификатор является домашним каталогом) и предоставил им доступ к ресурсам, предоставляющим API.
В приложении также зарегистрированы необходимые области, и я дал согласие администратора для каждого пользователя в клиенте.
Однако, когда я пробую войти в систему со следующим код (MSAL):

Код: Выделить всё

var clientId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
var tenantId = "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy";
var tenantSubdomain = "tenantsubdomain";
var scopes = new string[] { "https://cognitiveservices.azure.com/.default" };

var app = PublicClientApplicationBuilder.Create(clientId)
//.WithTenantId(tenantId) // with or without this line gets me the same result
.WithAuthority($"https://{tenantSubdomain}.ciamlogin.com/{tenantId}")
.WithDefaultRedirectUri()
.Build();

var ar = await app.AcquireTokenInteractive(scopes).ExecuteAsync();
// ...
Локальные пользователи, которых я создал, отклоняются с сообщением об ошибке:

Сведения об ошибке: errorvalid_request error_description:
AADSTS500207: тип учетной записи не может использоваться для ресурса, к которому вы пытаетесь получить доступ.
Идентификатор трассировки: abc Идентификатор корреляции: def Метка времени: 25 сентября 2024 г. 08:11:17Z

Я могу регистрировать пользователей из процесса входа в систему, но даже эти пользователи затем отклоняются с той же ошибкой.
«Тип учетной записи» для меня обычно означает «личный» или «бизнес», я ожидаю, что «личные» учетные записи будут отклонены (из-за конфигурации приложения «единый арендатор»), но не учетные записи, созданные в том же клиенте .
Это настолько распространенный вариант использования, что мне кажется, что я упускаю что-то очевидное, но не могу этого найти.
Изменить область действия
Если я изменю запрошенную область на https://graph.microsoft.com/.default, вход будет работать, но тогда я не смогу использовать токен для доступа услуги, которые мне нужны; поскольку запрос к речевой службе, в частности, завершается с ошибкой:

Ошибка обновления WebSocket: ошибка аутентификации (401). Проверьте информацию о подписке и название региона.
(да, название региона и информация о подписке верны)

Похожие вопросы:
  • Внешний идентификатор Entra с идентификатором Microsoft выдает AADSTS500208, если пользователь не является глобальным администратором.
    Похоже, что решение заключалось в использовании ciamlogin. com вместо login.microsoftonline.com, но, похоже, ко мне это не относится.
Обновление комментариев
При использовании login.microsoftonline.com возникает ошибка:

AADSTS500208: Домен не является допустимым доменом для входа в систему для данного типа учетной записи.

Если я использую приглашенного пользователя на сайте login.microsoftonline.com , вход работает, и я могу получить доступ к услугам. Но для моего бизнеса это не подойдет.
Использование https://{tenantSubdomain}.ciamlogin.com/{tenantId}/v2.0, https:/ /{tenantId}.ciamlogin.com/{tenantId} или https://{tenantSubdomain}.ciamlogin.com ошибка всегда повторяется:
AADSTS500207: Тип учетной записи не может использоваться для ресурса, к которому вы пытаетесь получить доступ.

Вот несколько снимков экрана регистрация приложения:
Изображение
Изображение


Подробнее здесь: https://stackoverflow.com/questions/790 ... ccount-via
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»