我正在尝试创建与GET请求相对应的电子邮件验证链接,该请求指向具有护照的已验证路线。
通常,所有这些受auth.required
控制的路由都需要带有身份验证信息的标头,即用户的ID和令牌。
鉴于在我的情况下,我只需要用户单击链接,因此我该如何手动形成这样的链接。
对于上下文,这是经过身份验证的路由的路由方式:
router.use(user_routes.authenticated, auth.required, authenticated)
和auth
代码:
const jwt = require('express-jwt');
//TODO : DOCUMENT AND SYNTAX
const getTokenFromHeaders = (req) => {
const { headers: { authorization } } = req;
if(authorization && authorization.split(' ')[0] === 'Token') {
return authorization.split(' ')[1];
}
return null;
};
const auth = {
required: jwt({
secret: 'secret',
userProperty: 'payload',
getToken: getTokenFromHeaders,
}),
optional: jwt({
secret: 'secret',
userProperty: 'payload',
getToken: getTokenFromHeaders,
credentialsRequired: false,
}),
};
module.exports = auth;