我是android和开发新手我还需要知道什么是oauth
以及如何生成oauth key.
我想使用oAuth
来使用oDesk
API。
提前致谢...
答案 0 :(得分:2)
OAuth / OAuth2是用于无密码身份验证的协议。 OAuth2是最新推荐的产品 - 它在RFC6749中指定。
为什么要使用OAuth而不是简单的密码?
此外,维护某种形式的用户数据的网站(如Google,Facebook等)可以使用OAuth允许第三方应用程序使用该数据。 OAuth允许他们要求用户同意每个数据应用程序要求。
oDesk支持它,有关详细信息,请参阅their documentation。您需要做什么,是否必须在那里注册apply for an API key here。然后,此API密钥将用于OAuth流程。
在Android应用程序中,您可能会使用一点修改的身份验证流程。这是因为获取令牌的一个步骤是让OAuth服务器将用户重定向到您的应用程序的网页 - 但是在移动应用程序的情况下,您将没有Web服务。通常,作为一种变通方法,您可以使用特殊的redirect_uri
值。有关详细说明,请参阅Google OAuth doc。但是我不确定oDesks这样做的方式。
最后,最重要的是,我建议阅读RFC6749。它可能需要一段时间,但它是完全值得的。 OAuth是一个非常复杂的协议,它有它的问题。如果你想使用它,并以安全的方式使用它,你必须知道这些小事。一个简单的例子是使用state
参数 - 它不是强制性的,所以你可能在不知道它存在的情况下逃脱,但省略它有serious security implications。