Loopback API Explorer身份验证

时间:2016-08-02 03:59:03

标签: node.js loopback

我在Loopback Node.js中创建了一个新项目 我关注API是公开的。当我在服务器上部署项目时,可以轻松访问包含API的URL。因此,我想限制任何人使用API​​,并且应该使用具有我的前端应用的Android设备。 我不了解已创建的用户模型,因为此模型没有任何特定文件,所以我创建了自己的userauth模型,但同样关注的是每个人在部署时都会访问它主服务器。

1 个答案:

答案 0 :(得分:0)

关于API端点公开,我会建议以下任何一种(我使用第二个):

1)使用ACL限制对特定端点的使用 使用可以单独指定要限制访问的模型类中的acls。

如果你想为每个模型实现一个共同的acl,那么我建议你继承持久模型,即创建MyBaseModel,其基数为" PersistedModel"。然后在所有模型中使用基本模型作为" MyBaseModel"

2)使用中间件检查是否从Android应用程序发出请求

在你的Android应用程序中为服务器的每个请求设置一些标题,例如 httpConnection.setRequestProperty("MyCustomProperty", "ThisIsFromAndroidApp");

然后在你的Loopback服务器的启动脚本中创建一个中间件来检查:

module.exports = function(app){
    app.use(function(req, res, next){
      if(req.headers["MyCustomProperty"] === 'ThisIsFromAndroidApp'){
         return next();
      }
      res.json({err: "Unauthorised access to api endpoint"});
   });
}



现在为内置用户模型: 您可以在 node_modules \ loopback \ common \ models \ user.js

中找到它们的用户模型

环回身份验证使用来自 access_token.js (AccessToken模型)和 user.js (用户模型)的混合功能。您可以在

中找到这两个模型

node_modules \回环\共同\模型\

相关问题