我遵循了 Nick Johnson 的教程通过 Android App Engine 进行身份验证 http://blog.notdot.net/2010/05/Authenticating-against-App-Engine-from-an-Android-app
无论如何,是否可以通过联合登录获得相同的工作流程(无需网络登录)(即使支持仅限于 Google 帐户)?
[Edit] 附加信息
当前的设置包括:
- 应用程序引擎的
UserService
配置为联合登录(openId..gmail、aol、myspace?、...)
- 脸书(OAuth)
- 推特(OAuth)
所有身份验证类型都包含在UserService
,这样我就可以打电话UserService.getCurrentUser()
(类似于Appengine的UserService,但支持twitter和facebook)。
帐户可以将多种身份验证方法链接在一起。
到目前为止,客户端都是基于网络的,并且一切运行良好。:D
我想:
- 添加公共 Api(用于网络和本机移动应用程序),
- 在本机移动应用程序内部使用 Api。
有什么选择?
我正在考虑限制 Android 应用程序对 Google 帐户的身份验证,希望避免基于网络的登录屏幕。即便如此,如果能够支持 facebook 和 twitter 的 Web Api 就好了。
不,OpenID 是基于浏览器的身份验证标准 - 它依赖于将用户定向到外部身份验证页面,然后返回应用程序页面。
您可以通过以下方式执行此操作WebView
里面一个Dialog
以获得流畅的用户体验。请参阅精益引擎 http://www.lean-engine.com/开源项目的示例实现:server https://github.com/PeterKnego/LeanEngine-Server/tree/master/lean-server-lib/src/main/java/com/leanengine/server/auth and client https://github.com/PeterKnego/LeanEngine-Android/blob/master/lean-android-lib/src/main/java/com/leanengine/LoginDialog.java。服务器有点复杂,因为它同时支持 Facebook 和 OpenID 登录。仅使用 OpenID 登录会更简单。您基本上只需要客户端示例。
但是,如果您不需要 OpenID 并且愿意将您的用户限制为 Google 帐户,那么您可以使用谷歌客户端登录API http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html. An 用法示例 http://dalelane.co.uk/blog/?p=303.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)