Web Services 保护REST API不受外部/第三方应用程序的影响

9rbhqvlz  于 2022-12-13  发布在  其他
关注(0)|答案(1)|浏览(163)

我有一个英语词典Web应用程序,例如xyz.com,使用AngularJS开发(或任何其他UI)和REST API。由于Web应用程序对所有人开放且没有用户注册,因此没有身份验证。如何防止REST API被外部应用程序使用?换句话说,API应该只在通过xyz.com访问时才能工作。我不希望其他开发人员使用我的RESTapi来支持他的应用程序。
OAuth不是解决这个问题的方法,因为没有身份验证。这个问题类似于Protect Web API from unauthorized applications,但是没有任何具体的答案可以解决这个问题。

xxls0lw8

xxls0lw81#

跨源资源共享机制https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS可以用来保护您的应用程序,但很容易被绕过。
同样,推荐策略https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy可以考虑在内,但与旧的浏览器不兼容。
由于Oauth2.0是不可能的,您最终可以使用JWT将它们与承载令牌HTTP身份验证结合起来,作为Oauth2.0的一个更简单的替代方案。

相关问题