【问题标题】:Authentication in single-user API单用户 API 中的身份验证
【发布时间】:2017-03-29 07:54:33
【问题描述】:
在我的 API 中,没有任何数据分配给任何用户,它只是为了防止未经授权的人使用它而提供保护。保护此类 API 的可能性有哪些?
我知道有 JWT、oAuth 等,但它们适合这种简单的 API 结构吗?我想只存储单个 API 密钥并让客户端发送它,但我听说它不是很安全。我想完全跳过为这个 API 使用数据库。有哪些可能性?
我正在使用 PHP 和 Laravel 5.4。
【问题讨论】:
标签:
php
laravel
api
authentication
【解决方案1】:
取决于您拥有多少用户。
如果您想为多个用户提供访问权限,建议为他们提供单独的 API 密钥。
如果只有一个用户,请保持简单并使用单个 API 密钥。
一般来说,API 密钥可能会被泄露,但这始终是您需要考虑的功能和保护措施。查看 Eventbrite API 或 Google Maps API。公共接口仅通过发送您的 API 密钥来工作,谷歌通过检查请求来自哪个网站来增加一些安全层。
Eventbrite 在这里不做任何检查,因为 API 所做的只是返回事件的结构化数据,这些数据无论如何都是公开的,并且不计入任何限制。