Невозможно получить токен на предъявителя - веб-тестирование, тестирование производительности - PullRequest
0 голосов
/ 17 мая 2019

Я создаю веб-тест в Visual Studio 2017 для тестирования производительности.Наше веб-приложение представляет собой Azure с интерфейсом AAD-аутентификации.Это проверка подлинности в качестве тестового пользователя, который терпит неудачу.Во время записи с использованием VS или Fiddler мне не удается воспроизвести тест снова.Я считаю, что это проблема с токеном.

Я могу видеть токен носителя аутентификации в параметре Расположение заголовка ответа в браузере.Пример -

URL запроса : https://login.microsoftonline.com/login.srf

Заголовок ответа :

Расположение: https://domain.fake.URL/login#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkhCeGw5bUFlNmd4YXZDa2NvT1UyVEhzRE5hMCJ9.eyJhdWQiOiIxZDYwOGIxOC04YjI2LTQ0MDktODg3ZC1mZmIzY2MxYzEwNDQiLC.....

Однако я не могу получить токен на предъявителя в Visual Studio.Я проверил, что Visual Studio выполняет тот же запрос с тем же параметром, но в ответ получает ошибку ниже, а не токен.

Расположение: https://domain.fake.URL/login#error=invalid_grant&error_description=AADSTS50008%3a+SAML+token+is+invalid.%0d%0aTrace+ID%3a+3c5c2728-f013-49e3-a91d-88a683210800%0d%0aCorrelation+ID%3a+f21fda63-6dc7-4b35-9b46-fc354cc4e8ea%0d%0aTimestamp%3a+2019-05-16+06%3a23%3a48Z&state=29ee5c1a-f49a-4358-be60-8f722f1e6e80

Вместотокен.

Кто-нибудь сталкивался с подобной проблемой?Спасибо, ребята.

1 Ответ

0 голосов
/ 17 мая 2019

Когда вы записали тест, вполне вероятно, что вы прошли федеративный процесс входа в локальную AD FS вашей организации.(Этот федеративный вход мог быть прозрачным в виде серии перенаправлений.) В рамках этого федеративного входа AD FS вашей организации выпустит маркер SAML, идентифицирующий пользователя в Azure AD.Затем Azure AD проверит этот токен SAML, и, поскольку все проверено, он выдал свой собственный токен приложению (ответ с #id_token=...).

Однако, когда вы попытаетесь воспроизвести эти шаги позже,срок действия исходного токена SAML, выпущенного AD FS (во время исходной записи), истек и больше не действителен.Поэтому вместо того, чтобы Azure AD перенаправлял обратно в ваше приложение с ожидаемым токеном идентификатора, он перенаправлял обратно в ваше приложение с ошибкой о неверном токене SAML.

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

Решение этой проблемы во многом зависит от среды тестирования, среды Azure AD и AD FS.и что конкретно вы пытаетесь загрузить тестом.Один из вариантов - использовать облачного выделенного тестового пользователя из выделенного тестового клиента в Azure AD (вы должны , а не включать в свои тесты учетные данные реальных пользователей из вашей производственной среды).Если часть того, что вы пытаетесь проверить, включает в себя федеративный вход, то вам следует использовать тестовый экземпляр AD FS и объединить своего тестового клиента Azure AD с этим тестовым AD FS.

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