android - 在网络/移动应用程序中使用 OAuth/OpenID

标签 android openid google-api oauth-2.0 web.py

我目前正在设计一项服务,该服务将一半是 Web 应用程序,一半是 Android 应用程序。每个用户都需要能够使用 openID 帐户从 Android 应用程序或 Web 应用程序登录。我希望首先以 Google 为目标,以便与 Android 最简单地集成,但稍后我还需要一些 OAuth 的东西,以便我可以与 Google 联系人集成。

我遇到的问题是如何对用户进行身份验证。我计划的结构是服务器(可能使用 web.py,尽管现在很灵活)以 JSON 格式为客户端提供数据,无论客户端是 javascript 浏览器客户端还是 android 客户端。但是,每次调用都需要确保允许客户端访问该数据。

  • 跨平台标准化的最简单方法是什么?
  • 我应该在登录后使用 session 系统进行身份验证吗?可以让它在 Android 应用程序中运行吗?否则,我是否应该针对每个请求简单地向 google 进行身份验证?
  • 从应用程序进行身份验证时,应该在哪里进行身份验证,是通过服务器还是直接从应用程序进行?在这种情况下,授权 token 应该存储在哪里? (我假设对于一个直接的 webapp, token 应该只存储在用户数据库的一个表中?)

很抱歉提出了一大堆问题,但我还没有真正在网上找到任何可以很好地阐明这些问题的资源。

最佳答案

只要您使用 HTTP,平台就无关紧要。您可以使用相同形式的身份验证和/或 session 。唯一的区别是,在 Andorid 上,您可以使用平台的 AccountManager 获取身份验证 token ,而无需在 Google 的登录页面中输入用户名和密码。

关于android - 在网络/移动应用程序中使用 OAuth/OpenID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10889188/

相关文章:

java - Java 代码在单个线程中的执行是否保证是顺序的?

java - RequestFactory 在 Android 上运行缓慢

android - 如何制作一个在一定时间间隔内改变颜色的方形进度条?

android - 使用 Lollipop 下的设备在 Espresso 中测试失败(失败 : Instrumentation run failed due to 'java.lang.IllegalAccessError' )

python - 多重登录选项(Google/Facebook/Twitter)

asp.net-mvc - DotNetOpenAuth - "View"如何与之交互

google-app-engine - Google 应用程序引擎联合 (openid) 登录本地主机

android - 使用 android 访问 picasa

javascript - 通过用 Electron/React/TS 编写的应用程序发送电子邮件

php - Google Analytics API - 认证后无法添加服务