Windows встроенная аутентификация Azure AD и WinForms - PullRequest
0 голосов
/ 01 апреля 2020

У нас очень большой проект Winforms, и нам нужно использовать SSO с AAD для выполнения вызовов API к внешней службе API.

Я использую MSAL и методы:

app.AcquireTokenSilent
app.AcquireTokenByIntegratedWindowsAuth

Однако я получаю сообщение об ошибке:

Microsoft.Identity.Client.MsalClientException: Integrated Windows Auth не поддерживается для управляемых пользователей. Подробнее см. https://aka.ms/msal-net-iwa.

в Microsoft.Identity.Client.Internal.Requests.IntegratedWindowsAuthRequest

с использованием метода:

app.AcquireTokenInteractive

Приложение отображает приглашение для пользователя выбрать, какую учетную запись он хочет использовать (в приглашении отображается сообщение о подключении к windows), и мне не нужно вводить пароль, сразу после того, как я нажимаю на пользователя, он поет и получает токен.

После того как токен получен и он сохранен с использованием PublicClientApp.UserTokenCache следующих входов в систему, даже если срок действия токена истек, мне не нужно выбирать учетную запись, под которой пользователь автоматически поет.

Я хочу избежать этого первого приглашения.

Я пробовал 2 варианта (ни один не работал):

  1. Пользователь, созданный в Windows AD и затем синхронизированный с AAD
  2. Пользователь, созданный в AAD, а затем созданный в Windows AD

Дополнительная информация:

  • Рассматривать приложение как общедоступный c клиент, помеченный как Да в приложении регистрация.
  • Я использовал одну и ту же регистрацию приложения в веб-приложении (SPA), и с помощью Microsoft Edge я могу войти без участия пользователя, он входит автоматически

Проблема только с приложение Winforms

Спасибо. ?

1 Ответ

0 голосов
/ 01 апреля 2020

Azure Документы AD MSAL не покрывают это, но для Windows Integrated Auth для работы с MSAL должно быть доступно любое из следующих и настроено в настройке Hydrid AAD. Простая настройка AAD Connect не будет работать.

  1. Azure Active Directory бесшовного единого входа
  2. Федерация с ADFS
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...