为我的API实现API密钥
Implementing API keys for my API
我已经创建了一个api,我想有一些控制谁使用它,多久等。我希望有一个API密钥策略,以便用户必须提供密钥才能使用API。然而,我不知道如何实现它。使用用户名和密码注册用户。我想到的是在用户登录时分配一个UUID,并将其存储在数据库中的一个表中。然后,每个请求都包含此uid,并在服务器上对每个请求进行检查。
然而,这似乎不正确。有人能解释一下创建api密钥的步骤,比如dropbox, twitter, facebook等吗?我想自己实现这个
有人能解释一下创建api的步骤吗比如,dropbox, twitter, facebook等等?我想试着自己实现这个。
生成API密钥
- 选择你想使用的加密/解密方法
- 选择在加密前要添加到数据的盐
- 决定您想要在加密字符串中包含哪些数据:时间戳、Uid、角色等。时间戳是其中最有用的部分,因为使用时间戳,您可以限制来自某个时间之前的密钥的请求,从而需要生成新密钥。
- 将其捆绑在可以稍后解析的东西中。有些人使用json对象,有些人使用字符分隔字符串
注意:如果你不希望它是一个可解密的密钥,因为它是散列的,因此更难以破解,那么你可以简单地遵循这个策略:制定一组步骤来形成你的非散列数据字符串:sha1("some-secret"."some-other-bit-of-info"."etc"."etc")
,然后API消费者有责任生成他们自己的密钥。因此,只有当他们拥有构造它所需的必要部分/信息时,他们才能访问它。
使用API
以Stripe的API为例:
-
发出授权请求:返回API密钥。curl使用-u标志来传递基本的认证凭证(在API密钥后添加冒号将防止它要求您输入密码)。
-
将该密钥与所有进一步的请求一起发送。
相关文章:
- API密钥使用和检查示例
- 基于api密钥的NodeJS web服务
- 带有新API密钥的Google Places Library OVER_QUERY_LMIT
- 如何在Ionic/Codova应用程序中保护我的Google Maps Javascript V3 API密钥
- 关于Parse.com客户端共享应用程序;api密钥
- 为Google Matrix指定API密钥API Javascript检索用法
- 谷歌云打印API密钥
- YouTube API密钥安全-我应该有多担心
- 使用javascript使用带有API密钥的API
- 您是否需要将 API 密钥用于客户端应用程序的谷歌地图 API
- 用于客户端-服务器通信和安全的 API 密钥
- 复制 API 密钥是否意味着身份被盗?
- 在 Javascript 中保护 API 密钥
- 是否可以检测到谷歌地图何时拒绝了API密钥
- 当我的 API 密钥位于 .gitignore 文件中时,如何从 git 部署到 heroku
- 在哪里使用地方 API 密钥
- 如何正确添加谷歌地图 api 密钥
- 谷歌地理编码仅在没有API密钥的情况下运行
- 在模型同步时发送带有 json 的 API 密钥
- Google 日历 API 密钥不允许通过简单的 GET 请求访问公共日历