Аутентификация с помощью AzureAD через тесты TestCafe - PullRequest
1 голос
/ 08 октября 2019

Я не могу пройти проверку подлинности / войти через AzureAD при запуске testCafe.

const testrole = Role(
  'https://login.microsoftonline.com/',
  async t => {
    await t
      .typeText(Selector('input').withAttribute('type', 'email'), *******)
      .click(Selector('#idSIButton9'))
      .typeText(Selector('input').withAttribute('type', 'password'), ********)
      .click(Selector('#idSIButton9'));
  },
  { preserveUrl: true }
);

Вышеуказанные действия работают нормально, однако после ввода пароля я получаю сообщение:

"Невозможно войти в учетную запись Outlook, ошибка: AADSTS900561: конечная точка принимает только запросы POST. Получен запрос GET."

Из моего начального поиска кажется, что что-то связано с файлами cookie сторонних производителей в браузере. ,Однако в настоящее время я не могу найти решение.

Есть идеи, как мне обойти эту проблему?

1 Ответ

4 голосов
/ 08 октября 2019

Команда продукта Azure AD всегда напоминала мне, что пытаться автоматизировать вход в систему - это плохая идея. Они, вероятно, обнаружат, что вы бот, и начнут блокировать ваши запросы, даже если вам это удастся.

Вместо этого, чтобы получить токены доступа, вам нужно использовать либо поток учетных данных клиента (для токенов только для приложения), либоПоток учетных данных пароля владельца ресурса (для делегированных токенов пользователей).

Поток учетных данных клиента: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow

Поток ROPC: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth-ropc

Вы должны позаботиться о том, чтобызащитить учетные данные, используемые для тестирования. И используйте тестового арендатора, если это возможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...