我们正在决定我工作的API标准。
我见过一些API使用API密钥。我见过其他人使用用户名和密码进行完全身份验证(例如oAuth2)。
通常是时候使用一个而不是另一个吗?
答案 0 :(得分:0)
OAuth非常适合“三方认证”(第一方:您的API服务器,第二方:使用您的API的应用程序,第三方:代表其使用API的用户)。例如,想象一下Instagram应用程序(第二方)代表用户John Doe(第三方)将照片上传到Facebook API(第一方)以显示在他的Facebook墙上。
但是,许多API没有这种三方方案 - 只有一个API和一个应用程序,不依赖于任何最终用户特定的信息。例如,如果经纪商提供股票报价API,那么这是一种双方情况,因为股票报价并非特定于最终用户。 (但是,如果有一个API可以访问某人的股票投资组合,那么这是一个三方方案)。
对于三方方案,OAuth几乎已成为标准。对于双方方案,尽管可以使用OAuth,但实际上通常使用更简单的身份验证方案(例如,只是URL中的API密钥,并使用HTTPS来隐藏来自中介的URL)。