У меня есть веб-приложение React / Node, которое использует Auth0 для аутентификации пользователя.Я настроил Puppeteer на localhost:3000
, который перенаправляет меня на страницу входа, когда я хочу протестировать свое приложение, потому что у меня нет JWT (или access_token
).Кроме того, мой auth0 настроен на использование MFA, при котором после этого шага мне будет предоставлен мой JWT.
Другими словами, прежде чем я попаду в свое веб-приложение, я всегда попаду на страницу входа с запросом электронной почты./ пароль, затем будет выдано SMS для проверки через MFA (многофакторная аутентификация).Только после этого будет перенаправлен в веб-приложение с токеном.Я просто хочу войти и протестировать свое веб-приложение, а не Auth0.
В первой попытке я попытался создать.grant_type
из client_credentials
и добавив этот URL: https://YOUR_AUTH0_DOMAIN/oauth/token
, но я не получил ничего релевантного.
Второе решение, о котором я подумал, - это обновить правила в моей панели Auth0, чтобы проверить наличие конкретного тестового электронного письма ипропустите MFA, но это кажется рискованным и может нарушить существующую функцию входа в систему.Это было настроено другим разработчиком, и я не чувствую себя в безопасности, касаясь его.
Можно ли запустить другой сервер с способом издевательства над службой Auth0?Поэтому перед любым из моих тестов у меня есть какой-то mock-JWT, который проверит меня на сервере моего приложения и сохранит mock-JWT в браузере Chromium как localStorage
?Что-то вроде ...
test('Navigate to Endpoint auth page', async () => {
// Run mock server that mock's Auth0 service
// Store mock-JWT in Chromium's browser like so:
// await page.evaluate(()=> localStorage.setItem('mockJWT'));
page = await global.__BROWSER__.newPage();
await page.goto('localhost:3000', { waitUntil: ['load', 'domcontentloaded'] });
Я не уверен, как подойти к этому или что еще попробовать.Если у кого-то есть идеи или свободное время, все будет полезно, спасибо!