Я использую Passport
для реализации функции входа в Google.Однако когда я отправляю запрос axios
из клиентского приложения react
, на консоли Chrome появляется сообщение об ошибке.
Сторона клиента - реакция (работает на порте 3000):
Запрос Axios в компоненте SignInForm.js
(запускается, когда пользователь нажимает кнопку входа в систему):
googlelogin(){
axios.get('/api/users/google_auth')
.then(()=>console.log("success"))
.catch(err=>console.log(err))
}
Сообщение об ошибке на консоли:
Error: Network Error
at createError (createError.js:17)
at XMLHttpRequest.handleError (xhr.js:87)
Сторона сервера - node.js (работает на порте 5000):
passport.jsкод:
passport.use(
new GoogleStrategy({
clientID: GOOGLE_CLIENT_ID,
clientSecret: GOOGLE_CLIENT_SECRET,
callbackURL: '/api/users/google_auth/redirect'
},
(accessToken, refreshToken, profile, done) => {
console.log("called")
User.findOne({email: profile.id})
.then(user => {
console.log('googleLogin');
done(null,user);
})
.catch(err => {
done(err,null,{message:'fail'})
})
}
)
);
routs / api / users.js код:
router.get('/google_auth',passport.authenticate('google',{
scope:['profile']
}),()=>{console.log("test")})
router.get('/google_auth/redirect',(req, res)=>{
res.send("hi")
})
Журнал сетевых подключений Chrome Devtools:
Я уже искал на Youtube, Google, Github и StackOverflow.Я не знаю, что делать, чтобы решить эту проблему.