当前位置: 首页 > 知识库问答 >
问题:

在节点中保护rest api的最佳方法?

萧琛
2023-03-14

这是一个有点宽泛的问题。我正在构建一个带有node和express的stripe服务器,并使用react前端对其进行攻击。我已经把基本的api,在那里我可以创建客户,保存支付方法和访问帐户编辑,更新等。

通过Stripe自己推荐的React-Stripe包收集支付方式的详细信息,该包保护PPI以使其符合政府关于隐私的规定。

现在我正在尝试保护rest api,以便只有经过验证的个人才能访问apiendpoint。例如,我有一个getendpoint,它显示客户的配置文件详细信息,该endpoint类似于:route/:customerid。大概只有在具有customerid的情况下才能访问路由,但是否可以添加另一层来更安全地保护endpoint?

我试图找出最好的方法来实现这一点,我遇到了以下两个选择:

  1. JWT
  2. oauth2

我不确定我是否误解了这里的用法。这两种方法中的一种是保护rest API的正确方法吗?

共有1个答案

司空均
2023-03-14

这是一个非常广泛的问题,它肯定取决于您的业务逻辑和应用程序的其他部分的安全性。
JWT和OAUTH2.0可以用于受保护的路由,但您必须知道它们之间的区别。Oauth2.0主要用于仅通过第三方服务对用户进行身份验证,即让用户可以选择使用他们的Google或Facebook账户创建一个账户。您可以在OATUH2.0之上添加另一层,并添加OIDC来使用它进行授权。但是,建议使用JWT进行授权。无论哪种情况,都最好通过HTTPS使用这些令牌。也许可以看看这两种方法的区别,并阅读更多关于这两种方法的信息。

 类似资料:
  • 问题内容: 我正在尝试保护Node Redis IPC服务器使用私钥/公钥。我遵循了本教程,该教程将Redis 使用的隧道包装在SSL层下。 该示例不是针对Node的,但是它确实确保了连接的安全,并且只有在配置文件中包含证书的情况下,我才能连接到服务器,否则将重置连接。 但是,我无法使用NodeJS复制它。在服务器计算机上,我有: 在我的客户端计算机上,我有: 但是,这两个设备会交流我是否在配置文

  • 问题内容: 我想知道,JavaScript提供了多种方法来从任何元素中获取第一个子元素,但是哪种方法最好呢?最好的意思是:在行为方面,大多数跨浏览器兼容,最快,最全面且可预测。我用作别名的方法/属性的列表: 这适用于两种情况: 在表单或迭代的情况下。如果我可能遇到文字元素: 据我所知,使用来自的NodeList ,并使用。我将这一假设基于MDN参考: 是对元素节点的第一个子元素的引用,或者如果不存

  • 我想知道,JavaScript提供了多种方法从任何元素中获取第一个子元素,但哪种方法最好?我所说的“最佳”是指:在行为方面,最兼容跨浏览器、最快、最全面、最可预测。我用作别名的方法/属性列表: 这适用于两种情况: 这是表单的情况,或

  • 问题内容: 我正在建立一个Drupal网站,其中包含许多将使用jQuery / ajax发布的用户特定信息。它自身的信息不是很敏感,仅重要的是验证表单数据是否已被诸如Firebug之类的工具篡改,并确保确实已从指定用户请求该信息。换句话说,我正在尝试找出用ajax发布时保护数据完整性和真实性的最佳方法。 理想情况下,我想使用一些众所周知的消息身份验证系统,例如HMAC算法。但是,由于它包含对称密钥

  • 问题内容: 我已经决定,在某些类中,我想拥有受保护的方法,但要对其进行测试。这些方法中的一些是静态的且简短的。因为大多数公共方法都使用了它们,所以以后我可能可以安全地删除测试。但是,为了从TDD方法入手并避免调试,我真的想对其进行测试。 我想到了以下几点: *建议的“ 方法对象”似乎对此过于矫kill过正。 * 从公共方法开始,当更高级别的测试提供了代码覆盖范围时,请将其置于保护状态并删除测试。

  • 后端使用Spring Data+Spring MVC。 谢谢你。