环回 API Explorer 身份验证
Loopback API Explorer authentication
我在环回中创建了一个新项目Node.js
我担心 API 是 public。当我将在服务器上部署项目时,包含 API 的 URL 将很容易访问。因此,我想限制任何人使用 API's,并且它应该从具有我的前端应用程序的 Android 设备上使用。
我不理解已经创建的用户模型,因为这个模型没有任何特定的文件,所以我正在创建自己的 userauth 模型,但同样担心当部署在主服务器上时每个人都会访问它.
关于 API 端点获得 public,我会建议以下之一(我使用第二个):
1) 使用 ACL 限制对特定端点的使用
使用可以在模型 类 中单独指定要限制访问的 acls。
如果您想对每个模型实施通用 acl,那么我建议您继承 Persisted 模型,即创建 MyBaseModel,其基数为 "PersistedModel"。然后在所有模型中使用基本模型作为 "MyBaseModel"
2) 使用中间件检查请求是否来自 android app
在您的 android 应用中,为您服务器的每个请求设置一些 header,例如
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\loopback\common\models\
我在环回中创建了一个新项目Node.js 我担心 API 是 public。当我将在服务器上部署项目时,包含 API 的 URL 将很容易访问。因此,我想限制任何人使用 API's,并且它应该从具有我的前端应用程序的 Android 设备上使用。 我不理解已经创建的用户模型,因为这个模型没有任何特定的文件,所以我正在创建自己的 userauth 模型,但同样担心当部署在主服务器上时每个人都会访问它.
关于 API 端点获得 public,我会建议以下之一(我使用第二个):
1) 使用 ACL 限制对特定端点的使用 使用可以在模型 类 中单独指定要限制访问的 acls。
如果您想对每个模型实施通用 acl,那么我建议您继承 Persisted 模型,即创建 MyBaseModel,其基数为 "PersistedModel"。然后在所有模型中使用基本模型作为 "MyBaseModel"
2) 使用中间件检查请求是否来自 android app
在您的 android 应用中,为您服务器的每个请求设置一些 header,例如
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\loopback\common\models\