【发布时间】:2018-08-14 23:02:06
【问题描述】:
我目前有 express-jwt 设置并使用 Auth0。如果您在 curl 或 postman 中指定授权令牌,则页面会正确加载。如果您使用浏览器,express-jwt 中间件会说没有提供令牌,如果我检查请求标头,则没有任何身份验证标头。
真的让我大吃一惊,谢谢 ~ 顺便跑个快递
**edit,例如添加了我一直在使用的代码。不知道还有什么必要的。它只是一个带有 JWT auth 的简单 React 应用程序。
exports.getTokenData = async function (req) {
try {
if (req.headers.authorization && req.headers.authorization.split(' ')[0] === 'Bearer') {
let token = req.headers.authorization.split(' ')[1];
if (!token) return false;
let res = await axios({
method: 'get',
url: 'https://xelitexirish.eu.auth0.com/userinfo',
headers: {Authorization: `Bearer ${token}`}
});
return res.data;
} else return false;
} catch (err) {
console.error(`Unable to fetch jwt data, Error: ${err.stack}`);
}
};
谢谢
【问题讨论】:
-
分享一些代码就好了
-
Auth0 Dev 在这里,你不应该调用
/userinfo只是为了获取用户信息和验证令牌,JWT 使用规范隐式验证并且可以被解码。
标签: node.js authentication jwt express-jwt