gpt4 book ai didi

api - 使用 API key 保护我的 API

转载 作者:行者123 更新时间:2023-12-04 01:08:09 31 4
gpt4 key购买 nike

我正在构建自己的 API,供以下用户使用:

1) 安卓应用
2) 桌面应用

我的网址之一是:http://api.chatapp.info/order_api/files/getbeers.php我的用户通过 JSON 从我的数据库中获取数据。我最近在考虑使用 API key 创建身份验证。

关于如何做的任何想法?或者我必须做一些类似 http://api.chatapp.info/order_api/files/getbeers.php?api_key= 的事情吗?然后将 GET 方法与存储在我的数据库中的一些 key 进行比较?

有任何想法吗?

最佳答案

正如@mike 提到的,OAuth 是复杂的 API,更重要的是需要在某处运行的第三个服务端点来提供访问的身份验证/授权。

一种认为您绝对不想做的事情是在 URL 中包含 API key 。这很容易被代理重放和/或欺骗和识别并在日志文件中捕获。更好的解决方案是将 API key 作为附加的 HTTP header 包含在您的请求中,并在您的 API 端点中查找该特定值。

对于您建议的简单用例,您可能会发现使用您作为 Android 应用程序和 API 端点之间的共享 secret 保存的 key 来验证 API 调用是值得的。如果你采用这条路线,它就不容易改变,如果妥协意味着一个真正的 PITA 可以启用并就位新 key 。

如果您使用“共享 key ”,那么我建议让用户更新该 key 相对容易(或至少有一些 UI),以防它被泄露。我假设您可以相当轻松地更新您的网络服务。此过程不如 OAuth 或 OAuth2 安全,但实现起来肯定更简单、更快,同时仍提供合理的“安全性”级别(在这种情况下,安全性意味着“您可以访问此 API”)。

关于api - 使用 API key 保护我的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35672662/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com