node.js - ExpressJS REST API - 仅供内部使用的端点的最佳实践

标签 node.js rest express

用例:我正在构建一个 MEAN stack Web 应用程序,该应用程序在现有 API 服务之上添加功能。该服务发布了大约 800 个对象的数组(每周增长不到 25 个对象)。为了避免向该服务添加大量负载并提高应用程序的性能,我想在应用程序中“缓存”对象。

我的问题是保持此“缓存”最新的最佳实践是什么? Express 自然适合 RESTful CRUD 操作,但我不想公开允许任何人从外部服务添加或修改对象的公共(public)端点。

限制对仅由应用程序本身使用的端点的访问的最佳方法是什么?它是否需要一个完整的身份验证方案,或者是否有一种方法可以简单地忽略不是来自应用程序本身的请求?或者应该使用 RESTful API 端点以外的其他方式来完成此操作?

最佳答案

所有解决方案中最简单的是基本身份验证,如果您使用 SSL,则完全没问题。更复杂的解决方案是 Oauth2。

如果您不想实现身份验证策略,您可能需要在新的 MEAN 堆栈服务中提供客户端证书(2waySSL,其行为为“请求并强制执行客户端证书”)。

关于node.js - ExpressJS REST API - 仅供内部使用的端点的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35191100/

相关文章:

javascript - 异步请求进入for循环angular.js

node.js - Bower/npm 如何知道项目位于哪个 github 用户中

node.js - npm 请求 GET 参数

PHP fatal error : Class 'Slim' not found in

express - Sequelize 和 Graphql 反向查找

javascript - 如何在 node.js 服务器中使用 Jest 解决 UnhandledPromiseRejectionWarning

java - 如何使用存储过程通过 Java ReSTful Web 服务中的输入参数值来完成更新和创建记录操作

http - WADL 应用程序?

javascript - 如何处理nodejs中的大量条件匹配?

angularjs - 自定义 req.session 属性值的更新似乎持续得不够快