Локальное тестирование Auth0 в безсерверном приложении с использованием AWS лямбда-функций - PullRequest
0 голосов
/ 30 марта 2020

Перед моим вопросом важно отметить, что приложение, с которым я работаю, было предоставлено мне предварительно с небольшим количеством документации. Длинная история. Раньше я никогда не работал с безсерверным приложением, поэтому я полностью сбит с толку.

Вот некоторый контекст:

У меня есть приложение без сервера: приложение React, которое находится в корзине S3 и обслуживается AWS CloudFront. Он использует Auth0 для аутентификации. В настоящее время логика c заключается в том, что если пользователь пытается посетить домен приложения, всплывающее окно Auth0 с приглашением для входа. Пользователь вводит свои учетные данные, которые затем отправляются в функцию AWS Lambda, которая обменивает подтвержденные учетные данные для входа на веб-токен JSON. Это отправляется обратно в Auth0, который затем перенаправляет пользователя в домен приложения (пожалуйста, критикуйте это объяснение, если вы думаете, что я что-то неправильно объяснил).
Я пытаюсь проверить Auth0 локально, чтобы я мог получить доступ к ролям, которые я ' Я назначил каждому пользователю в конечном итоге предоставить эти пользовательские данные, указывающие c на их роль.

Проблема:

Однако я не могу проверить Auth локально. Когда я запускаю npm start at localhost: 3000, я попадаю прямо на главную страницу, полностью пропуская вход в систему.

Я понимаю, что это может быть из-за множества вещей, но вот что я попробовал.

Я зашел на свою панель инструментов Auth0 и в разделе «Разрешенные обратные вызовы» я поместил http://localhost: 3000 / logincb . (logincb - это обратный вызов, полученный во время шага AWS Lambda).

Я попытался с помощью ngrok создать безопасное соединение, а затем поместить этот URL-адрес в URL-адреса Allowed Callback, но на локальном хосте всплывающее окно Auth0 не отображалось.

Я попытался вставить условия в функцию Lambda, если URL-адрес запроса - localhost: 3000, т.е. сделать то же самое, что и в случае, если URL-адрес запроса был доменным именем приложения

. Я могу опубликовать Лямбда-функция, если это полезно. Это похоже на примеры, приведенные в AWS Документах Lambda для примеров функций при использовании Amazon CloudFront. Он имеет функции для обработки файлов cookie, веб-токенов, отправки запроса в Auth0 и т. Д. c.

Я прошу прощения за неопределенность вопроса, мне просто нужно немного вдохновения / идей на данный момент.

Мир и любовь

...