0
나는 nodej를 연구하기 시작했는데, 문제가 발생했습니다. '우편 배달부'에 로그인을 게시하면 성공 메시지가 표시되지만 토큰 컨텐츠는 비어 있습니다. 이 내 server.js 코드 :nodejs 토큰이 비어 있습니다.
var express = require('express');
var bodyParser = require('body-parser');
var morgan = require('morgan');
var config = require('./config');
var mongoose = require('mongoose');
var app = express();
.......
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
이 내 API 코드 :
var jsonwebtoken = require('jsonwebtoken');
function createToken(user){
jsonwebtoken.sign({
_id: user._id,
name: user.name,
username: user.username
}, secretKey,{
expiresIn: '144000000m'
});
return jsonwebtoken;
};
api.post('/login',function(req,res){
User.findOne({
username: req.body.username
}).select('password').exec(function(err,user){
if (err)
{
res.send(err);
}
else if (!user) {
res.send({message : "User dosen't exist."});
}
else if (user){
var validPassword = user.comparePassword(req.body.password);
if (!validPassword)
{
res.send({ message : "Password is incorrect." });
}
else
{
///// token
var token= createToken(user);
if (token)
{
res.json({
success: true,
message: "Successfuly login!",
token: token
});
}
else
{
console.log('error');
}
}
}
})
});
끝에 사실 나는 '우편 배달부'에서이 메시지를 얻을 :
{
"success": true,
"message": "Successfuly login!",
"token": {}
}
을
보시다시피 토큰이 비어 있습니다. 덕분에 !
, 당신이 가져온 라이브러리 대신 토큰 자체를 반환 예컨대 필요 createToken()에서