【发布时间】:2016-06-19 05:47:52
【问题描述】:
我正在使用 Laravel 构建一个 REST API,现在我有一个类似的 URL
api.example.com/posts/3/comments
现在我想知道如何保护此 API,因为正如现在所做的那样,任何尝试在此 URL 上发出 GET、POST、... 请求的人都会得到积极的结果。
我希望此 API 仅可用于授权应用(如 Facebook API)。目前,这些应用只是我的网站和 iOS 应用。
我正在考虑创建一个表applications 来存储应用程序的密钥。但我不知道如何在不发布密钥的情况下对应用进行身份验证(这显然是不安全的)。
有什么建议吗?谢谢。
【问题讨论】:
-
当我用 Google
protect a rest api搜索时,我会得到很多结果,例如stackoverflow.com/questions/14094529/how-to-protect-restful-api? -
我也用谷歌搜索了它并找到了教程,但它们都是关于验证用户而不是应用程序的。
-
对于 Laravel,您可以实现特定的中间件并在路由或控制器级别实现它们。不过,我不知道您对应用程序的身份验证与用户有何不同,但所涉及的逻辑不应该有太大的不同 - 像 api-guard 这样的解决方案可能是一个解决方案(当然,您可以自己实现.)
-
在 CORS 标头中限制域
-
@Ciccio 用户认证和App认证的区别在于,用户可以将他的密码存储在他的脑海中,而Web应用程序则不能(任何人都可以读取Javascript代码)。