Использование JMeter 3.1 r1770033, у меня есть две проблемы с хранением cookie для конкретной компании через наш Single Sign-On. (SSO)Проблема с JMeter с SSO и Cookies
Я прочитал много постов блога и вопросы на этом сайте, касающиеся куки, но никто не появляется, чтобы решить мой конкретный вопрос «HC3CookieHandler: Не хранить недопустимый печенье:»
Я считаю, что это происходит из-за к реализации того, как компания хочет, чтобы файл cookie был отформатирован.
Cookie: companyAuthorizedEnvironment = assignedTokenId
Я могу быть успешным с помощью интерфейса командной строки с помощью завиток, но не с помощью JMeter.
curl --request POST --header "X-OpenAM-Username:username" --header "X-OpenAM-Password:password” --header "Content-Type:application/json" --data "{}" https://sso.company.com/access/authenticate/
Response
{"tokenId": "AQIC5w_TEXT_REMOVED_NTcy*", "successUrl": "/openam/console" }
Ниже приведено краткое описание моего простого теста Логин/выход из системы с пояснениями и краткое изложение 2 в результате проблем.
Любая помощь очень ценится!
ПЛАН ИСПЫТАНИЯ
менеджер HTTP Cache
Clear cache each iteration? = enabled
Use Cache-Control = disabled
Max # of elements = 5000
HTTP Cookie Manager
Я перепробовал все возможные комбинации реализации/политики, без успеха ,
Clear cookies each iteration = enabled
Implementation = HC3CookieHandler
Cookie Policy = default
НАСТРОЙКА НИТИ ГРУППА = ССО АУТЕНТИФИКАЦИЯ
«Этот процесс позволяет удаленному клиенту для проверки подлинности на SSO, используя действительные учетные данные. После успешной аутентификации, маркер аутентификации представлен пользователю, который затем используется для доступа к защищенным приложениям ».
HTTP Header Mgr
X-OpenAM-Username: ${username}
X-OpenAM-Password: ${password}
Content-Type: application/json
HTTP Request
Server Name = sso.stage.company.com
Protocol = ${__P(protocol,https)}
Method = POST
Path = /access/authenticate/
REGEX
Ref Name = newTokenId
Reg Expression = "tokenId":(.+?)\,
Template = $1$
Match No. = 1
Default = null
BEANSHELL ASSERTION
${__setProperty(tokenId,${newTokenId})}
Teardown НИТИ ГРУППА = ССО ВЫХОД
"Этот процесс позволяет удаленному клиенту завершить активный сеанс с SSO путем выхода из системы"
HTTP Header Mgr
Cookie: companyauthstage=${tokenId}
Content-Type: application/json
HTTP Request
Server Name = sso.stage.company.com
Protocol = ${__P(protocol,https)}
Method = POST
Path = /access/logout/
НОМЕР 1 - ВХОД
В моем журнале следов появляется следующее предупреждение.
WARN - jmeter.protocol.http.control.HC3CookieHandler: Not storing invalid cookie: <amlbcookie=01; Domain=sso.stage.company.com.; Path=/> for URL https://sso.stage.company.com/access/authenticate/ (Illegal domain attribute "sso.stage.company.com.". Domain of origin: "sso.stage.company.com")
Не знаете, почему это незаконно. Мне интересно, если какой-то период (.) Добавляется в домен. Я проверял, что у меня нет лишнего периода.
ВЫПУСК 2 - LOGOUT
Response code: 401
Response message: Unauthorized
Я подозреваю, что это несанкционированная, потому что "Cookie: companyauthstage = $ {tokenId}" заголовок не хранится, но я не уверен на 100%.