我正在创建一个返回json的简单web api。
它将执行简单的crud操作。
验证用户的最佳方式是什么,OAuth似乎是这里的主要推荐,但我正在寻找一些我可以简单地实现自己,基于令牌或API密钥的东西?
任何想法建议提示都会很棒,谢谢
更新:忘记提及,这个API不会用于一般消费,它只是供我自己使用,但我想确保如果他们偶然发现,有人不能太容易进入。
答案 0 :(得分:3)
首先,为了构建一个好的API,您应该使用其他人的API来查看它们的工作原理。要使用RESTful,需要使用API密钥,这只是一个非常大的随机数或“加密nonce”。但实际上这就像查找用户身份验证信息的不朽会话ID一样,这并不是那么好。 OAuth很棒,如果你想要自己的系统kerberos是非常安全的。
有可能hijack json responses,这是对json的陷阱。如果每个请求都需要API密钥,则攻击者无法使用此方法。