问题描述
我的身份验证在本地正常运行,并在JSON中返回令牌,但是尝试时 在https Heroku服务器中,什么都不返回?
服务器是否有问题,因为是https?
...
const sendTokenResponse = (user,statusCode,res) => {
const token = user.getSignedJwtToken();
console.log(token);
const options = {
expires: new Date(
Date.now() + process.env.JWT_COOKIE_EXPIRE * 24 * 60 * 60 * 1000
),httpOnly: false,};
if (process.env.NODE_ENV === "production") {
options.secure = true;
}
res
.status(statusCode)
.cookie("token",token,options)
.json({
success: true,data: {
name: user._doc.name,lastName: user._doc.lastName,id: user._doc._id,email: user._doc.email,phone: user._doc.phone,role: user._doc.role,token:user._doc.tokens[0],},});
};
以及模块猫鼬模式中的此方法
getSignedJwtToken = function () {
try {
const user = this;
const token = jwt.sign({ _id: this._id },process.env.JWT_SECRET,{
expiresIn: process.env.JWT_EXPIRE,});
user.tokens = user.tokens.concat(token);
// user.token = token;
const test = user.save();
if (test) {
return token;
}
return token
} catch (ex) {
console.error(ex.message);
}
};
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)