【发布时间】:2011-11-07 15:01:18
【问题描述】:
我正在创建一个返回 json 的简单 Web api。
它将执行简单的 crud 操作。
验证用户的最佳方式是什么,OAuth 似乎是这里的主要推荐,但我正在寻找我可以简单地实现自己的东西,基于令牌或 API 密钥??
任何想法建议提示都会很棒,谢谢
更新:忘了提一下,这个 API 不会用于一般消费,它仅供我自己使用,但我想确保有人偶然发现它时不能太容易进入。
【问题讨论】:
我正在创建一个返回 json 的简单 Web api。
它将执行简单的 crud 操作。
验证用户的最佳方式是什么,OAuth 似乎是这里的主要推荐,但我正在寻找我可以简单地实现自己的东西,基于令牌或 API 密钥??
任何想法建议提示都会很棒,谢谢
更新:忘了提一下,这个 API 不会用于一般消费,它仅供我自己使用,但我想确保有人偶然发现它时不能太容易进入。
【问题讨论】:
首先,为了构建一个好的 API,您应该使用其他人的 API 来看看他们是如何工作的。要成为 RESTful,使用 API 密钥,它只是一个非常大的随机数或“加密随机数”。但实际上这就像不朽的会话 id 来查找用户身份验证信息一样,并不是那么好。 OAuth 很棒,如果您想要自己的系统,kerberos 非常安全。
可以hijack json responses,这是对json的一个坑。如果每个请求都需要 API 密钥,则攻击者无法使用此方法。
【讨论】: