【问题标题】:what is oAuth ? and how to get oAuth key?什么是 oAuth?以及如何获取 oAuth 密钥?
【发布时间】:2014-01-22 00:08:29
【问题描述】:

我是 android 新手并正在开发中,我还需要知道 oauth 是什么以及如何生成 oauth key.

我想使用oAuth 来使用oDesk API。

提前谢谢...

【问题讨论】:

  • 欢迎来到 Stack Overflow。请尝试自行搜索此类问题。 StackOverflow(SO)充满了这种问题。至少,只需询问“如何生成 oauth 密钥”,以免被视为闲置消费者。
  • 好的,然后告诉我如何生成 oauth 密钥?

标签: android oauth oauth-2.0


【解决方案1】:

OAuth/OAuth2 是用于无密码身份验证的协议。 OAuth2 是最新的、推荐的 - 在RFC6749 中指定。

为什么使用 OAuth 而不是简单的密码?

  • 因此用户不必记住每个站点的密码
  • 因此用户不会尝试在多个网站上使用相同的密码
  • 因此您不必实施密码管理,这很难和even big companies fail

此外,维护某种形式的用户数据的网站(如 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-15
    • 2011-07-07
    • 2012-07-17
    • 2010-11-30
    • 1970-01-01
    • 2018-03-04
    • 1970-01-01
    • 2013-03-23
    相关资源
    最近更新 更多