我正在使用MEAN Stack构建一个Web应用程序。我想要实现的是当用户登录他的用户信息时,我的REST API会从Angular获取。我设置了API路由http://localhost:3000/api/user/profile,它应该用json响应,包括用户对象。
router.get('/user/profile', function(req, res, next){
//console.log(req);
if(req.user === undefined){
res.json({
success: false,
msg: 'Unautorized'
});
} else {
res.json({
success: true,
user: {
id: req.user.steam.id,
name: req.user.steam.name,
avatar: req.user.steam.avatar,
avatarmedium: req.user.steam.avatarmedium,
avatarfull: req.user.steam.avatarfull
}
});
}
});
当用户登录Angular时,启动GET-Request:
ngOnInit() {
this.authService.getProfile().subscribe(profile => {
this.user = profile.user;
console.log(profile);
},
err => {
console.log(err);
return false;
});
}
getProfile():
getProfile(){
return this.http.get('http://localhost:3000/api/user/profile')
.map(res => res.json());
}
当我加载我的网站时,登录并转到配置文件页面,返回的对象包含成功:false和消息“Unauthorized”而不是用户对象。为什么会这样?
答案 0 :(得分:0)
我完全重新设计了我的方法。我实现了json web令牌,它现在在登录后通过url参数向用户发送一个令牌(包含所有用户数据)。