使用Oauth2.0 / OpenId混合模式来认证Android应用程序和Web应用程序(后端服务器)

3

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

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

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

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

1
在幻灯片中,写着范围必须是“audience:server:XXX”。 但在他的博客文章中,Tim Bray说范围是“audience:server:client_id:XXX”。 试试这个。
另外,我的错误是在同一个控制台中创建了2个客户端ID,但不在同一个项目中。确保你做对了。

谢谢Barles,他的博客文章比他原来的演示更有帮助。在演示期间,他很快地概述了这个问题,可能并没有真正准备好。但至少他跟进了这个问题。 - Alex Beggs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接