保护从AngularJS(移动应用程序)/ HTML页面到Laravel PHP后端的API调用的最佳方法是什么?
要明确,我不是在谈论用户登录身份验证。
我正在计划基于API的应用程序。在要求任何用户注册或登录之前,我想使用AngularJS将我的API中的JSON数据读入页面。
我需要确保只有我的客户端前端才能访问此数据。是否有现有系统发送令牌或使用我的密钥,以确保只有我的前端可以访问我的API?我还希望能够撤销特定客户或租户的访问权限。
此设置的安全选项有哪些?我正在思考JWT,CORS等......这是我第一次尝试这样的应用程序,所以请原谅我的无知!如何从移动应用程序安全地访问API
答案 0 :(得分:-1)
您应该使用CORS并且仅允许Web应用程序域请求API。然后任何其他请求都无法访问数据。
使用令牌不会安全,因为任何人都可以从您的应用程序访问它并在外面使用它。
看看this package来管理Laravel中的CORS
答案 1 :(得分:-1)
这是申请授权的申请。您可以使用诸如OAuth2
之类的协议,但是有一种避免这种协议的有趣方法。
如果我是你,我会使用客户端SSL证书。这个想法是您的客户端(移动应用程序)向Web服务器提供证书。 Web服务器尝试验证证书。如果验证它,它会向PHP脚本发送一个验证您的参数。如果不是,则参数为空或未发送。
Here's a link to a blog post that describes this process
通过实施密钥,一次性密码等,还有其他方法可以实现应用程序到应用程序授权。但是没有一种方法像客户端证书一样简单直接。