angular色并locking节点中的端点

我正在尝试为我的游戏构build一个REST API。 由于我是新手,所以我很难想出如何“locking”端点。 从某种意义上说,我不希望任何人向我的游戏成绩端点提出发帖请求并更新它。 什么是防止这个最好的解决scheme?

您需要的是一个授权过程,一个常见的实现是一个ACL(访问控制列表),其中您创build的每个请求都必须包含一个令牌,该令牌与一组angular色关联,并且每个angular色都有多个权限。 在每个请求上,您都会检查该请求端点的令牌权限,并查看请求者是否被允许执行该操作。

有一些包可以很容易地执行像acl 。

如果你不想花太多时间自己做,我build议看看Loopback 。

编辑:

在你的前端应用程序中,你可能有这样的东西:

app.all(['/api/*', '/fe/*'], function(req, res) { req.pipe(request({ headers: { 'Authorization': process.env.AUTH_TOKEN }, url: process.env.PROXY + req.url, method: req.method, body: req.body, rejectUnauthorized: false, withCredentials: true })) .on('error', function(e) { res.status(500).send(e); }) .pipe(res); }); 

这个代码做的是,它将以/ api /或/ fe /开始的任何请求到您的前端,并将它们传送到您的后端服务器( process.env.PROXY )。

关键是process.env.AUTH_TOKEN ,你可以在这里使用一个随机的和大的散列。 然后在每个受保护的请求上,您的后端将检查标题是否与您select的AUTH_TOKEN匹配。

这样做的好处是,最终用户永远不会看到这个令牌,事实上,最终用户只会看到到你的服务器的请求。