【问题标题】:Authenticated communication b/w Android app And GAE server using OAuth2使用 OAuth2 的经过身份验证的通信 b/w Android 应用程序和 GAE 服务器
【发布时间】:2012-05-26 10:45:38
【问题描述】:

OAuth2 新手。我正在编写一个与 App 引擎服务器应用程序通信的 Android 应用程序。

  1. 应用程序需要使用用户的 Google 帐户信息代表用户向服务器进行身份验证。服务器需要检索用户的基本信息并创建一个帐户。这是最简单的部分,我知道该怎么做。
  2. 此外,Android 应用程序还将让用户使用 Oauth2 进行身份验证,并使用用户的 Google 帐户信息检索基本用户信息。我也可以。
  3. 这是我需要帮助的地方假设前面的步骤已成功完成,我如何使用 Android 应用(用户已登录的地方)与服务器通信使用用户的凭据安全地进行通信

有什么想法还是我遗漏了一些明显的东西?

【问题讨论】:

  • 你看过 Eclipse 中的“App Engine connected Android App”选项吗?

标签: android google-app-engine oauth-2.0


【解决方案1】:

Android 到 App Engine OAuth2 的通信记录在此答案中: google app engine oauth2 provider

【讨论】:

    【解决方案2】:

    使用 OAuth,1.0 或 2.0,在这无关紧要,导致应用程序获取访问令牌 - 然后根据您服务器的 API,您通过请求而不是登录名和密码传递此访问令牌。我想将访问令牌字符串附加到 URL 请求的方式在不同的 API 之间可能略有不同,请参阅文档。或者,如果您同时制作服务器应用程序,那么您需要想办法这样做(例如发送 HTTP 标头 Authorization: OAuth access_token=abcdefgh…

    【讨论】:

    • 这种方法不会容易被窥探吗?
    • 好吧,OAuth 1.0 更多地使用了密码学,以一种使任何窥探无用的方式(私人秘密等),但您仍然可以强制一些请求签名(但您必须实施那是你自己的)。将 HTTPS 与 OAuth 一起使用也是一个好主意。查看OAuth 2 文档,我认为这是一个非常安全的方案,尽管我听说一些关于安全性的担忧,所有密码学都消失了。
    猜你喜欢
    • 2012-04-09
    • 2013-06-28
    • 2014-12-08
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    相关资源
    最近更新 更多