我正在为我的网站开发API的早期阶段,以便第三方开发人员可以为其构建iPhone应用程序。 API将具有完整站点的有限功能子集。我遇到的麻烦是下载应用程序的用户的安全性和身份验证。我提出了以下选择:
这是我必须构建的第一个API,我想知道我是否正确理解了这一点?我假设在选项1中,应用程序可以记录用户凭据并恶意使用它们,但是twitter如何通过第三方应用程序克服这个问题?或者仅仅由用户信任他们正在使用的应用程序?如果是这种情况,则在此期间选项2和/或3是可行的,直到我切换到选项4。
感谢您的反馈意见。感谢
答案 0 :(得分:2)
OAuth 1和OAuth 2都是可行的选择。但是,基本身份验证也会有很长的路要走(只要它通过SSL)。不要害怕:)
我在OAuth 1.0上实现了API提供程序。而且由于OAuth1.0有许多现成的库用于许多平台,我也不会害怕使用它,大部分工作已经完成,无论是作为提供者还是第三方实现者。
无论如何:您总是可以使用应用程序密钥和密码将基本身份验证与一些非常简单的请求签名相结合,例如,作为第三方开发人员,您必须致电。
https://yourapi.com/?user=11111&password=232123&random_string=23123&api_key=THIRD_PARTY_KEY×tamp=1212121212signature=efefefefefef
API实现者必须使用秘密签署random_string,timestamp和api_key。那么你至少可以找到一种关闭恶意应用程序的方法。