REST API安全性和跨平台

时间:2015-04-06 10:37:24

标签: node.js api security rest cross-platform

我正在使用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();
        }
    }

谢谢大家。

0 个答案:

没有答案