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

2023-12-27

我遵循了 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

我想:

  1. 添加公共 Api(用于网络和本机移动应用程序),
  2. 在本机移动应用程序内部使用 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(使用前将#替换为@)

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

随机推荐

  • 无需复制/粘贴代码即可实现 TObjectList 的排序

    我有一个对节点树中的节点进行排序的过程 虚拟树视图 http www lischke online de index php controls virtual treeview 从 FMM4 报告中提取的所有内存泄漏都存储在 TMemory
  • 颤动的一叠卡片

    我正在尝试创建一堆卡片 相互叠加并偏移 以可视化卡片的多个版本 我尝试过将卡片放入卡片中 但没有找到抵消它们的方法 我也尝试过使用 stack 类 但没有成功 有人知道我怎样才能达到这个效果吗 您使用 Stack 的方向是正确的 您只需要弄
  • 循环遍历列表以创建多个 Excel 文件

    您好 我正在尝试循环遍历列表以创建多个 Excel 文件 不是工作表 我能够在下面的代码中创建单独的数据框 但我想知道是否有人有通过循环列表创建多个 Excel 文件并使用每个公司名称创建多个 Excel 文件的示例 from dateti
  • 向量的模式匹配“case Nil”

    读完这篇文章后post https stackoverflow com a 10199441 409976关于如何使用模式匹配Vector 或任何实现的集合Seq 我在这个集合上测试了模式匹配 scala gt x Vector res38
  • 如何使用python opencv找到图像中黑色物体的中心?

    我在白色背景上查找黑色物体的轮廓时遇到问题 在这里我添加了一个图像的示例 现在我需要找到黑色区域的中心 我使用以下代码 im cv2 imread img plt imshow im gray cv2 cvtColor im cv2 COL
  • symfony 2:命名空间“Acme”不包含任何映射实体

    我正在关注这本书和页面http symfony com doc current book doctrine html http symfony com doc current book doctrine html 在阅读这本书时 我试图处理
  • 数据分析任务 - 自定义分析请求

    是否有任何选项可以为 SSIS 数据分析任务创建自定义配置文件请求 目前 SSIS 数据分析任务下有 5 个标准分析请求 列空比率配置文件请求 列统计资料请求 列长度 分布配置文件请求 列值分布配置文件请求 候选人关键资料请求 我需要添加另
  • 缩短 Angular 7 中的 SCSS 导入路径

    当我创建一个组件时 它嵌套得很深 如果我想导入一个共享的 scss 我必须用很长的路径导入它 例如 import app shared scss 这不会发生在 ts文件 我可以配置tsconfig json paths src src ap
  • 模板继承:没有依赖于模板参数的参数[重复]

    这个问题在这里已经有答案了 我在编译以下代码时遇到了这个错误 经过一些研究并阅读不同情况下的类似错误后 我想出了我需要的解决方案 但我并没有完全理解错误的根本原因和修复方法 template
  • 带有请求内容类型表单的 Http Post 在 Spring MVC 3 中不起作用

    代码片段 RequestMapping method RequestMethod POST headers content type application x www form urlencoded public ModelAndView
  • 捕获量词和量词算术

    首先 我要解释一下 这个问题既不是关于如何捕获组 也不是关于如何使用量词 这是我非常熟悉的正则表达式的两个功能 对于可能熟悉外来引擎中不寻常语法的正则表达式爱好者来说 这更像是一个高级问题 捕获量词 有谁知道正则表达式风格是否允许您捕获量词
  • 如何在 iOS 中实现 XMPP 房间的自动加入

    我想在XMPP群聊中自动加入房间 我从后端服务器创建了所有组 第一次加入房间 但是当我从 XMPP 在应用程序之外 断开连接并返回应用程序内部并重新连接 xmpp 时 我再次需要加入房间 在侧面应用程序中 一名用户已在多个房间中可用 因此无
  • eclipse 中的 java.lang.UnsupportedClassVersionError [重复]

    这个问题在这里已经有答案了 我真的不是一个Java程序员 所以我发布这个问题 在 Eclipse 项目的主类中抛出 java lang UnsupportedClassVersionError 异常 如果我注释掉该类的导入 它就会编译并运行
  • PHP中的Blowfish加密

    我正在为我的应用程序和网站编写加密 但我不知道如何正确加密 php 中的字符串 这段代码已经完成解密 function decrypt blowfish data key iv pack H substr data 0 16 key pac
  • CLGeocoder 反向地理代码位置“kCLErrorDomain 错误 2”

    我正在开发一个具有反向地理编码功能的 iOS 应用程序 当我第一次调用该函数时 一切都很好 第二次调用 使用完成调用的控制器的新实例 后 出现 Domain kCLErrorDomain Code 2 错误 这发生在模拟器和设备上 坐标有效
  • 当 JavaScript 中的数组对象递增时会发生什么?

    一个非常简单的问题 但我无法在任何地方找到答案 检查以下代码 var myArray 0 1 2 3 4 5 6 7 8 9 for i 0 i lt myArray length myArray console log Loop iter
  • 应该将列表添加到字典然后清除它的程序,首先清除它并将随后的空列表附加到字典中?

    class Matrix rowStorer generalPurposeList def init self row column self row row self column column To store away for a l
  • Github 搜索 API - 排除某些主题

    根据文档 我可以使用 从搜索 API 中排除某些内容 我对其进行了测试 例如 这适用于语言领域 但不适用于主题 根据文档 https docs github com en free pro team latest github search
  • C2DM:如何使用C2D_MESSAGE权限?

    我即将为我的应用程序实现 C2DM 但我发现文档 http code google com android c2dm writing apps关于如何编写清单有点令人困惑 清单代码示例包含以下内容
  • 使用联合登录 (OpenID) 从 Android 应用程序对 App Engine 进行身份验证

    我遵循了 Nick Johnson 的教程通过 Android App Engine 进行身份验证 http blog notdot net 2010 05 Authenticating against App Engine from an