我正在用Laravel构建一个REST API,现在我有了一个URL
api.example.com/posts/3/comments
现在我想知道如何保护这个API,因为正如现在所做的那样,任何试图在这个URL上发出get
、post
、...请求的人都将得到积极的结果。
我希望这个API只对授权的应用程序可用(像Facebook API)。就目前而言,那些应用程序只是我的网站和我的iOS应用程序。
我正在考虑创建一个表applications
来存储应用程序的键。但我不知道如何在不发布应用程序密钥的情况下对其进行身份验证(这显然是不安全的)。
有什么建议吗?谢谢.
我建议您使用类似于jwt的东西。使用它,您在设备上本地创建并存储一个令牌,然后每次有人向服务器发出呼叫时,您都要检查该令牌,并确保他们是他们自称的人。如果愿意,您可以存储令牌以备过期。它们通常用于无状态应用程序中,因此您需要远离服务器会话的概念。您可以使用中间件来过滤进入您的应用程序的HTTP请求。