使用Oauth2.0 / OpenId Hybrid验证Android应用程序和Web应用程序(后端服务器)

时间:2013-01-06 18:41:50

标签: java android oauth openid

首先请善待,因为我仍在努力掌握整个OpenId / Oauth2.0。

我最近参加了比利时的Devoxx 2012会议。 Tim Bray presented能够使用Oauth2.0和OpenId的混合方法(我相信它被称为OpenId Connect)。以下是描述它的slide。如果我理解正确,他说Android应用程序可以验证(接收令牌)然后请求服务器端Web应用程序的令牌。然后,这将允许服务器端接收服务器令牌并检查令牌是否真正有效。验证这是来自Android应用程序的真正经过身份验证的用户。完成此操作后,服务器端Web应用程序可以安全地与Android应用程序进行交互。

我已经能够使用针对Android应用的com.google.android.gms.auth.GoogleAuthUtil.getToken进行身份验证。

我已在Google API控制台(https://code.google.com/apis/console/)的API访问下创建了“已安装应用程序的客户端ID”。我还在同一个控制台下创建了一个Web应用程序,但是当我按照幻灯片时,我无法获得应该发送到Web应用程序的令牌(通过https)。我确信我只是错过了一个简单的步骤,或者只是不完全理解它,但我非常感谢任何帮助。

谢谢,

亚历

1 个答案:

答案 0 :(得分:1)

在幻灯片中,写入范围必须是“audience:server:XXX”。 但是在his blog post,Tim Bray说范围是“受众:服务器: client_id :XXX” 试试这个。

另外,我的错误是在同一个控制台中创建了2个客户端ID,但在同一个项目中却没有。确保你做对了。