javascript - 在 google oauth 之后将 JWT 作为查询字符串发回
问题描述
用户通过 google oauth 进行身份验证后发送 JWT 的最佳方式是什么?
我目前使用 node/express 作为后端并作为前端做出反应(它们位于不同的域中)。
一种方法是将令牌设置为查询字符串并重定向以做出反应。
高速路由器:
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(){
...
}
将令牌作为查询字符串发送是否安全?
有没有更好的方法呢?
解决方案
推荐阅读
- php - 使用 curl 从站点获取一个号码,然后在我的应用程序中使用它
- git - 将我的项目提交到 github 时发生了一些错误
- regex - 正则表达式可选组(音乐标签)
- c# - 更改不会保存到 SQL Server 数据库
- html - 边距未应用于整个班级的多行文本
- android-architecture-components - 不使用 Room 更新 PagingLibrary 中的列表项(仅限网络)
- php - htaccess 在页面名称之后停止 /_ - 不是通过基本 url 想要从 htaccess 实现
- c++ - 自动隐藏私有符号
- amazon-web-services - 如何在 S3 上为 AWS Firehose 添加带有 gz 的目标文件名?
- javascript - javascript prettier 多行格式化对象