Каков наилучший способ отправки JWT после того, как пользователь будет аутентифицирован google oauth?
В настоящее время я использую узел / экспресс в качестве бэкэнда и реагирую как веб-интерфейс (они находятся в разных доменах).
Одним из способов является установка токена в виде строки запроса и перенаправление для реакции.
Экспресс-маршрутизатор:
router.get(
'/auth/google',
passport.authenticate('google', { scope: ['profile', 'email'] })
);
router.get(
'/auth/google/callback',
passport.authenticate('google', { failureRedirect: '/', session: false }),
(req, res) => {
const token = req.user.token;
res.redirect(`http://localhost:3000?token=${token}`);
}
);
App.js в реакции:
componentWillMount() {
const query = queryString.parse(this.props.location.search);
if (query.token) {
window.localStorage.setItem('jwt', query.token);
this.props.history.push('/');
}
}
render(){
...
}
Безопасна ли отправка токена в виде строки запроса?
Есть ли лучший способ для этого?