我正在使用node.js来休息api。我在/ signup端点创建了jwt-token。然后在Authoriziton标头中的每个ios-app,windowsphone-app请求中发送此令牌。所以api尝试查找包含此令牌的用户。如果它已经返回响应。
我担心安全问题。每个人都将监视api地址以创建用户并获取令牌,然后将此令牌用于所有端点。因此,将数据的无限号发布到其他模式和应用程序是垃圾,死亡。
如何防止这种情况?原生iOS,Windows Phone应用程序和Web站点用于此api。什么是处理安全性和用户管理的最佳方式,如跨平台应用程序api?这个结构有很好的文档吗?
有用户方案。
var userSchema = mongoose.Schema({
token:String,
favorites:[favorites],
local : {
username:String,
email: String,
password: String,
sex:Number
},
facebook: {
id:String,
token:String,
email:String,
name:String
},
lists:[{listid:String,insertdate:Date}]
});
每个端点都像这样控制授权
function ensureAuthorized(req, res, next) {
var bearerToken;
console.log(req.headers);
var bearerHeader = req.headers["authorization"];
if (typeof bearerHeader !== 'undefined') {
req.token = bearerHeader;
User.findOne({'token':bearerHeader},function(err,currentUser){
if(err)
res.json({success:false,description:err});
console.log("current" + currentUser);
if(currentUser)
{
req.user = currentUser;
next();
}
else
{
res.status(403).end();
}
});
} else {
res.status(403).end();
}
}
谢谢大家。