关于 OAuth 和 Android 的一些问题

Posted

技术标签:

【中文标题】关于 OAuth 和 Android 的一些问题【英文标题】:Some questions about OAuth and Android 【发布时间】:2011-01-12 11:46:10 【问题描述】:

我今天早上开始阅读 OAuth;需要有助于回答以下问题的建议(链接等): 1. 如何在 android 设备上使用 OAuth 实现 3 legged Authentication?是否有图书馆可以协助上述工作? 2. 有人说:“Site/Service ABC support OAuth”是什么意思?

谢谢!

【问题讨论】:

【参考方案1】:

要解决您的第一个问题,您应该能够在 Android 上使用任何 Java OAuth 库,这里有一个教程链接,该教程使用 Java OAuth project 库在 Android 上开发消费者应用程序:

Android Client-side OAuth

特别注意在您的应用程序中注册自定义 URI 方案(即 myapp://)。您将在发送 oauth_callback 参数时使用此 URI 方案,这将允许您的用户轻松完成 3-legged 工作流程(基本上您将从 SP 获得请求令牌,通过浏览器将您的用户定向到 SP 以授权令牌,然后 SP 将使用自定义 URI 方案将用户重定向回您的应用程序)。

现在回答您的第二个问题:当有人说某个站点或服务支持 OAuth 时,通常意味着他们已将 OAuth 实现为服务提供者。这意味着您可以开发一个消费者应用程序,该应用程序使用 OAuth 对服务托管的受保护资源执行委托授权。请注意服务/站点支持哪个版本的 OAuth 规范。大多数应该在 1.0a 上,但有些可能仍然在 1.0 上,其工作流程略有不同。你可以放心地忽略这些差异,如果他们支持的话,只需阅读 1.0a 规范,否则你会想要挖掘 1.0 规范(下面提供的链接)。

让我知道这是否有帮助,或者如果您有什么特别需要我详细说明的!祝你的应用好运!

OAuth 1.0a Spec OAuth 1.0 Spec

请注意,1.0 存在一些已在 1.0a 中解决的安全问题。另请注意,1.0a 已被重写为 IETF 草案。在 IETF 草案中使用的术语略有不同,并且在使用安全传输层(即 SSL)和明文签名方法时已经删除了一些要求。不过,大多数 SP 仍将坚持 1.0a。否则,IETF 草案写得更好,值得一读,如果您能注意术语差异:

draft-hammer-oauth IETF draft

【讨论】:

这是完美的(并且获得了 25 分!)。非常感谢您花时间写这个答案。 链接坏了能提供正确的链接吗?

以上是关于关于 OAuth 和 Android 的一些问题的主要内容,如果未能解决你的问题,请参考以下文章

任何人都可以解释 OAuth 吗?

任何人都可以解释 OAuth 吗?

Android 应用上的 Oauth 2

Android 应用上的 Oauth 2

Android:Google SSO - OAuth 还是 AccountManager?或两者?

Android:Google SSO - OAuth 还是 AccountManager?或两者?