使用联合登录(OpenID)从Android应用程序对App Engine进行身份验证

Nic*_*kis 9 openid google-app-engine android oauth

我已经关注了Nick Johnson关于从Android验证App Engine的教程

无论如何,使用联合登录获得相同的工作流程(没有网络登录)(即使支持仅限于Google帐户)?

[编辑] 其他信息

目前的设置包括:

  • App Engine UserService配置为联合登录(openId..gmail,aol,myspace?,...)
  • Facebook(OAuth)
  • 推特(OAuth)

所有的身份验证类型都包含在一个UserService,所以我可以调用UserService.getCurrentUser()(类似于Appengine的UserService,但支持twitter和facebook).

帐户可以将多个身份验证方法链接在一起

到目前为止,客户端都是基于Web的,并且工作正常.:d

我想:

  1. 添加公共Api(适用于网络和本机移动应用),
  2. 在内部使用Api用于本机移动应用程序.

有什么选择?

我一直在考虑限制Android应用的Google帐户身份验证,以避免基于网络的登录屏幕.即便如此,支持Facebook和Twitter的网络Api会很不错.

Pet*_*ego 4

不,OpenID 是基于浏览器的身份验证标准 - 它依赖于将用户定向到外部身份验证页面,然后返回应用程序页面。

您可以通过WebView内部执行此操作Dialog以获得流畅的用户体验。请参阅LeanEngine开源项目的示例实现:服务器和客户端。服务器有点复杂,因为它同时支持 Facebook 和 OpenID 登录。仅使用 OpenID 登录会更简单。您基本上只需要客户端示例。

但是,如果您不需要 OpenID 并且愿意将您的用户限制为 Google 帐户,那么您可以使用Google ClientLogin API。一个用法示例。