Google OAuth работает на бэкэнде, но не на фронтенде в производстве ⇐ Javascript
Google OAuth работает на бэкэнде, но не на фронтенде в производстве
Я внедрил Google OAuth в свое веб-приложение. Он отлично работает в разработке и при прямом доступе к внутреннему маршруту, но не работает при доступе через внешний интерфейс в рабочей среде.
Вот упрощенная версия настройки моего сервера:
// ... (другое промежуточное ПО и настройка) app.use(cors({ происхождение: ['http://localhost:5173', 'https://www.mywebsite.com'], учетные данные: правда, })); app.get('/auth/google', Passport.authenticate('google', {scope: ['profile', 'email'] })); app.get('/auth/google/callback', Passport.authenticate('google', { errorRedirect: '/api/auth/login' }), (req, res) => { // ... (логика перенаправления) }); А на стороне клиента я пытаюсь инициировать процесс аутентификации с помощью ссылки: Войти через Google
В разработке, когда я напрямую обращаюсь к http://localhost:3001/auth/google, он работает нормально, но при доступе через http://localhost:5173/auth/google во внешнем интерфейсе происходит сбой.
>
Вот шаги, которые я предпринял, чтобы решить эту проблему:
[*]Проверил консоль разработчика Google и убедился, что «URI авторизованного перенаправления» настроены правильно. [*]Промежуточное программное обеспечение cors настроено таким образом, чтобы разрешать запросы как от клиентских доменов разработки, так и от рабочей среды. [*]Проверил консоль браузера и вкладку сети на наличие ошибок, но не обнаружил ошибок, связанных с потоком OAuth.
Я подозреваю, что это может быть связано с CORS или URI перенаправления, но я не знаю, как это исправить.
Я внедрил Google OAuth в свое веб-приложение. Он отлично работает в разработке и при прямом доступе к внутреннему маршруту, но не работает при доступе через внешний интерфейс в рабочей среде.
Вот упрощенная версия настройки моего сервера:
// ... (другое промежуточное ПО и настройка) app.use(cors({ происхождение: ['http://localhost:5173', 'https://www.mywebsite.com'], учетные данные: правда, })); app.get('/auth/google', Passport.authenticate('google', {scope: ['profile', 'email'] })); app.get('/auth/google/callback', Passport.authenticate('google', { errorRedirect: '/api/auth/login' }), (req, res) => { // ... (логика перенаправления) }); А на стороне клиента я пытаюсь инициировать процесс аутентификации с помощью ссылки: Войти через Google
В разработке, когда я напрямую обращаюсь к http://localhost:3001/auth/google, он работает нормально, но при доступе через http://localhost:5173/auth/google во внешнем интерфейсе происходит сбой.
>
Вот шаги, которые я предпринял, чтобы решить эту проблему:
[*]Проверил консоль разработчика Google и убедился, что «URI авторизованного перенаправления» настроены правильно. [*]Промежуточное программное обеспечение cors настроено таким образом, чтобы разрешать запросы как от клиентских доменов разработки, так и от рабочей среды. [*]Проверил консоль браузера и вкладку сети на наличие ошибок, но не обнаружил ошибок, связанных с потоком OAuth.
Я подозреваю, что это может быть связано с CORS или URI перенаправления, но я не знаю, как это исправить.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение