Android 谷歌+;登录-使用一次性代码的安全性

Android 谷歌+;登录-使用一次性代码的安全性,android,authentication,google-plus,Android,Authentication,Google Plus,我将要做一个应用程序,只是想确保这个流程是否良好,以防出现安全问题 客户端=安卓 服务器=PHP 我将使用一次性代码流对客户端和服务器进行身份验证 第一个问题,通过HTTP发送一次性代码而不使用HTTPS有什么问题吗 完成后,我将使用Google+提供的用户Id来识别用户。这个来自谷歌的用户ID将存储在我的数据库中,这样我就可以跟踪用户 由于Android任何人都可以反编译代码,他们将能够看到我如何将请求发送到我的服务器。我将向特定的PHP页面发送post请求,作为回报,PHP页面将返回JS

我将要做一个应用程序,只是想确保这个流程是否良好,以防出现安全问题

  • 客户端=安卓
  • 服务器=PHP
我将使用一次性代码流对客户端和服务器进行身份验证

第一个问题,通过HTTP发送一次性代码而不使用HTTPS有什么问题吗

完成后,我将使用Google+提供的用户Id来识别用户。这个来自谷歌的用户ID将存储在我的数据库中,这样我就可以跟踪用户

由于Android任何人都可以反编译代码,他们将能够看到我如何将请求发送到我的服务器。我将向特定的PHP页面发送post请求,作为回报,PHP页面将返回JSON。在PHP页面中,我需要运行下面的代码,以确保在将JSON传递回Android应用程序之前设置了会话

if ($request->get('state') != ($app['session']->get('state'))) {
    return new Response('Invalid state parameter', 401);
}
这会有任何安全隐患吗?
如果有一个主题可以回答这个问题,请告诉我,因为我找不到任何东西。

不要通过HTTP将一次性代码移动到服务器。

第一个答案-是的,通过HTTP而不是HTTPS发送它有很多风险。尽管代码的生命周期非常有限,但这仍然意味着如果有人想要截取并使用代码,他们可以在服务器获得代码之前轻松地截取并使用代码。您可能可以在自己所做的事情上获得一个自签名证书,但您确实不应该在生产中使用HTTP


会话管理有几个可能的含义,但我不确定它们是否与Google+登录直接相关。虽然此检查有助于确保连接来自合法会话,而不是可能作为攻击的一部分运行的会话。目前还不清楚您是如何进行会话管理的,或者如果遇到此错误,可能会发生什么其他活动,但这也可能是一种在DoS攻击情况下限制资源使用的好方法。

此问题可能更适合于“如何发送代码”这一问题?我正在使用快速入门并查看signin.php的代码,这已经有了一次性代码的实现。然而,我不知道如何发送它与什么参数设置。我假设它是“访问令牌”?