Я пытаюсь использовать google-аутентификацию в моем приложении express. Я установил URI перенаправления двух обратных вызовов на мой идентификатор клиента Google auth20, как показано во вложении. Я настроил реагирующий прокси-сервер для перенаправления на сервер всякий раз, когда в setupProxy делается запрос на /auth/google
или /api/*
. js, потому что я использую приложение реагирующего приложения v2. Приложение перенаправляет нормально со стороны клиента, и Google аутентифицирует пользователя при входе, но Google продолжает перенаправлять на http://localhost:5000/auth/google/callback
после входа в систему. Я хочу перенаправить на http://localhost:3000/auth/google/callback
т. Е. Мой клиентский URI после успешного входа пользователя. например localhost:3000/surveys
вместо localhost:5000/surveys
Мой setupProxy. js содержимое файла
const { createProxyMiddleware } = require('http-proxy-middleware')
module.exports = function (app) {
app.use(
['/auth/google', '/api/*'],
createProxyMiddleware({
target: 'http://localhost:5000',
changeOrigin: true
})
)
}
Мой паспорт и express обработчик маршрута
const passport = require('passport')
module.exports = app => {
app.get(
'/auth/google',
passport.authenticate('google', {
scope: ['profile', 'email']
})
)
app.get(
'/auth/google/callback',
passport.authenticate('google'),
(req, res) => {
res.redirect('/surveys')
}
)
app.get('/api/logout', (req, res) => {
req.logout()
res.redirect('/')
})
app.get('/api/current_user', (req, res) => {
res.send(req.user)
})
}
Мой google auth20 Настройки идентификатора клиента
URI авторизованного перенаправления http://localhost: 3000 / auth / google / callback http://localhost: 5000 / auth / google / callback
As Attached.