Проблемы с OAuth PKCE и нагрузочным тестированием Visual Studio - PullRequest
0 голосов
/ 02 марта 2020

(извините за мою терминологию)

Использование нагрузочных тестов Visual Studio Enterprise 2019

У меня проблема с попыткой входа / аутентификации на веб-сайте, на котором включен OAuth PKCE при использовании Visual Studio тестер нагрузки Я не могу правильно извлечь нужную информацию. Задача кода и метод кода представлены в виде строки запроса. Я получаю все ошибки 401.

Вот поток:

[GET] Go на указанный веб-сайт

[GET] Получить перенаправление на API (строка запроса API содержит code_challenge и code_challenge_method)

[POST] _RequestVerificationToken затем публикуется (это приходит в форме повара ie)

[GET] Другой code_challenge отправляется с / ссылка для входа

[GET] Затем я получаю еще один code и session_state

[POST] Вышеуказанный code затем публикуется с code_verifier

Я не знаю, как я должен получить и опубликовать критерии, я пытался использовать скрытые поля, извлечение текста и REGEX, но информация не может быть найдена.

Если кому-то есть что добавить или попробуйте, пожалуйста, сообщите мне, потому что я заблокирован этой проблемой.

Я приложил изображение с конфиденциальной информацией, отредактированной от начала до конца OAuth.

Запись результатов

Passed  http://portal-qa.***.com/       0.158 sec   -   -
Passed      https://portal-qa.***.com/  200 OK  -   0.158 sec   0
Passed          https://portal-qa.***.com/css/chunk-vendors.a903617c.css    200 OK  -   0.013 sec   0
Passed          https://portal-qa.***.com/css/app.b3b1d014.css  200 OK  -   0.009 sec   0
Passed          https://portal-qa.***.com/js/chunk-vendors.dc65dbba.js  200 OK  -   0.007 sec   0
Passed          https://portal-qa.***.com/js/app.5db053cd.js    200 OK  -   0.008 sec   0
Passed  https://portal-qa.***.com/fonts/apercu-light-pro.55f01ab6.eot   200 OK  0.003 sec   0.003 sec   0
Passed  https://portal-qa.***.com/fonts/apercu-regular-pro.ad897f51.eot 200 OK  0.003 sec   0.003 sec   0
Passed  https://portal-qa.***.com/fonts/apercu-medium-pro.27a3987c.eot  200 OK  0.003 sec   0.003 sec   0
Passed  https://qa.***.com/identityserver/connect/authorize     0.523 sec   -   -
Passed      https://qa.***.com/identityserver/Account/Login?ReturnUrl=%2Fidentityserver%2Fconnect%2Fauthorize%2Fcallback%3Fclient_id%3DPortalCodePkce%26redirect_uri%3Dhttps%253A%252F%252Fportal-qa.***.com%252Fsign-in%26state%3D%252Ftransactions%26response_type%3Dcode%26scope%3D***IdentityApi%2520pcoProfile%2520openid%2520profile%2520reportingApi%2520portalApi%2520offline_access%26code_challenge%3DRaOI-Ln_ePSDimLT3ryZWEMQIiVybDaGE9VTg1gTu44%26code_challenge_method%3DS256  200 OK  -   0.379 sec   0
Passed          https://qa.***.com/identityserver/css/app.css   200 OK  -   0.008 sec   0
Passed          https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css   200 OK  -   0.020 sec   0
Passed          https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.1/cookieconsent.min.js    200 OK  -   0.008 sec   0
Passed          https://qa.***.com/identityserver/***-logo-primary.svg  200 OK  -   0.009 sec   0
Passed          https://qa.***.com/identityserver/lib/jquery/jquery.js  200 OK  -   0.007 sec   0
Passed          https://qa.***.com/identityserver/js/app.js 200 OK  -   0.009 sec   0
Passed          https://qa.***.com/identityserver/fonts/apercu/light/apercu-light-pro.eot   200 OK  -   0.002 sec   0
Passed          https://qa.***.com/identityserver/fonts/apercu/regular/apercu-regular-pro.eot   200 OK  -   0.003 sec   0
Passed          https://qa.***.com/identityserver/fonts/apercu/medium/apercu-medium-pro.eot 200 OK  -   0.001 sec   0
Passed  https://qa.***.com/identityserver/fonts/fontawesome/fa-light-300.eot    200 OK  0.003 sec   0.003 sec   0
Passed  https://qa.***.com/identityserver/fonts/fontawesome/fa-regular-400.eot  200 OK  0.004 sec   0.004 sec   0
Passed  https://qa.***.com/identityserver/fonts/fontawesome/fa-solid-900.eot    200 OK  0.003 sec   0.003 sec   0
Passed  https://qa.***.com/identityserver/Account/Login 0 0 3.341 sec   1.497 sec   0
Passed      https://portal-qa.***.com/fonts/apercu-light-pro.55f01ab6.eot   200 OK  -   0.002 sec   0
Passed      https://portal-qa.***.com/fonts/apercu-regular-pro.ad897f51.eot 200 OK  -   0.002 sec   0
Passed      https://portal-qa.***.com/fonts/apercu-medium-pro.27a3987c.eot  200 OK  -   0.002 sec   0
Passed      https://qa.***.com/identityserver/connect/token 200 OK  -   0.842 sec   0
Passed  https://qa.***.com/identityserver/Account/Login     1.921 sec   -   -
Passed      https://qa.***.com/identityserver/connect/authorize/callback        -   -   -
Passed      https://portal-qa.***.com/sign-in?code=83ad6ae0d1d85fa29811a989e5163048fe8620f6135455ca644d1d5f446134a8&scope=pcoProfile%20openid%20profile%20***IdentityApi%20reportingApi%20portalApi%20offline_access&state=%2Ftransactions&session_state=WJ3CeIFnO79UAiPetCFUHzNSEbF9cSDwXvulUWkr244.ae03a8ccef5b763b1457fa790e0d83ad   200 OK  -   1.921 sec   0
Passed          https://portal-qa.***.com/css/chunk-vendors.a903617c.css    200 OK  -   0.009 sec   0
Passed          https://portal-qa.***.com/css/app.b3b1d014.css  200 OK  -   0.009 sec   0
Passed          https://portal-qa.***.com/js/chunk-vendors.dc65dbba.js  200 OK  -   0.009 sec   0
Passed          https://portal-qa.***.com/js/app.5db053cd.js    200 OK  -   0.007 sec   0
Passed  https://qa.***.com/identityserver/connect/userinfo  204 NoContent   0.041 sec   0.041 sec   0
Passed  https://qa.***.com/identityserver/connect/userinfo  200 OK  0.448 sec   0.448 sec   0
Passed  https://qa.***.com/management/user/policyRoles  204 NoContent   0.038 sec   0.038 sec   0
Passed  https://qa.***.com/management/user/policyRoles  200 OK  0.245 sec   0.245 sec   0
Passed  https://qa.***.com/management/businesses    204 NoContent   0.051 sec   0.051 sec   0
Passed  https://qa.***.com/management/businesses    200 OK  0.325 sec   0.325 sec   0

Результаты испытаний

Passed  http://portal-qa.***.com/   301 Moved Permanently   0.691 sec   0.161 sec   0
Passed      https://portal-qa.***.com/  200 OK  -   0.163 sec   574,226
Passed          https://portal-qa.***.com/css/chunk-vendors.a903617c.css    200 OK  -   0.075 sec   4,653
Passed          https://portal-qa.***.com/css/app.b3b1d014.css  200 OK  -   0.128 sec   50,069
Passed          https://portal-qa.***.com/js/app.5db053cd.js    200 OK  -   0.148 sec   54,291
Passed          https://portal-qa.***.com/js/chunk-vendors.dc65dbba.js  200 OK  -   0.343 sec   464,356
Passed  https://qa.***.com/identityserver/connect/authorize 302 Moved Temporarily   0.322 sec   0.096 sec   0
Passed      https://qa.***.com/identityserver/Account/Login 200 OK  -   0.067 sec   92,765
Passed          https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.1/cookieconsent.min.js    200 OK  -   0.037 sec   6,773
Passed          https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css   200 OK  -   0.043 sec   1,215
Passed          https://qa.***.com/identityserver/css/app.css   200 OK  -   0.051 sec   3,570
Passed          https://qa.***.com/identityserver/***-logo-primary.svg  200 OK  -   0.067 sec   4,044
Passed          https://qa.***.com/identityserver/js/app.js 200 OK  -   0.085 sec   945
Passed          https://qa.***.com/identityserver/lib/jquery/jquery.js  200 OK  -   0.153 sec   74,245
Failed  https://qa.***.com/identityserver/Account/Login     0.015 sec   0.015 sec   0
Passed  https://qa.***.com/identityserver/Account/Login 302 Moved Temporarily   0.824 sec   0.442 sec   4,314
Passed      https://qa.***.com/identityserver/connect/authorize/callback    302 Moved Temporarily   -   0.189 sec   0
Passed      https://portal-qa.***.com/sign-in   200 OK  -   0.033 sec   574,226
Passed          https://portal-qa.***.com/css/chunk-vendors.a903617c.css    200 OK  -   0.048 sec   4,653
Passed          https://portal-qa.***.com/css/app.b3b1d014.css  200 OK  -   0.068 sec   50,069
Passed          https://portal-qa.***.com/js/app.5db053cd.js    200 OK  -   0.080 sec   54,291
Passed          https://portal-qa.***.com/js/chunk-vendors.dc65dbba.js  200 OK  -   0.157 sec   464,356
Failed  https://qa.***.com/identityserver/connect/userinfo  405 Method Not Allowed  0.048 sec   0.048 sec   0
Failed  https://qa.***.com/identityserver/connect/userinfo  401 Unauthorized    0.044 sec   0.044 sec   0
Failed  https://qa.***.com/management/user/policyRoles  404 Not Found   0.046 sec   0.046 sec   0
Failed  https://qa.***.com/management/user/policyRoles  401 Unauthorized    0.038 sec   0.038 sec   0
Failed  https://qa.***.com/management/businesses    404 Not Found   0.042 sec   0.042 sec   0
Failed  https://qa.***.com/management/businesses    Submitting...   0.041 sec   0.041 sec   0

https://i.stack.imgur.com/KGZOA.png

1 Ответ

0 голосов
/ 09 марта 2020

Проблема в этом посте не является точной объясненной проблемой, но ошибки, вызванные Visual Studio Load Tester, заставили меня поверить, что проблема была в OAuth PKCE.

Фактическая проблема заключалась в том, что Visual Studio записывала ненужные запросы и пытаясь использовать строки запроса в GET методах. Эти запросы омрачали и скрывали реальную причину неудачи теста, когда я удалил все ненужные запросы, такие как шрифты, недопустимые запросы и разместил верификационный токен в том месте, где тест работал, как ожидалось.

Простая отправка токена подтверждения в правильном месте все еще давала мне ту же «Несанкционированную» ошибку, только до тех пор, пока я не удалил незаконные запросы GET, я смог определить правильные местоположения для всего остального.

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

...