谷歌的Oauth流量

时间:2011-11-22 15:59:06

标签: oauth scribe

我正在努力为我的网络应用程序抨击Oauth。我正在进行POC工作,它工作正常,但我有一个困惑,不知道如何才能实现最佳效果。

我正在为Oauth使用scribe java API。

这是我正在执行的步骤。

  1. 从Google获取请求令牌。
  2. 将用户重定向到Google进行自我身份验证,并授权我的服务人员访问他/她的一些详细信息。
  3. 通过提供Google提供的请求令牌和验证码从Google获取Access Toekn。
  4. 谷歌提供访问令牌后访问用户信息。
  5. 现在我的主要困惑在于第3步,因为我正在开发一个Web应用程序,所以这将是一个两步过程。

    1. 将用户重定向到Google
    2. 处理谷歌重定向。
    3. 为了获得Access令牌,我需要提供我在步骤1获得的相同请求令牌,否则我的请求被用户拒绝。 请求令牌包含2件事

      1. Toekn - >这是基于已注册的应用程序而不是问题
      2. 秘密 - >这始终是一个随机字符串,因此在询问访问令牌时应该是相同的
      3. 这意味着我需要在我的会话或某些地方存储这个秘密,以便在用户被重定向回我的应用程序时可以访问此秘密。

        我的困惑是,因为为了在会话中保存它,我必须创建一个唯一的密钥和一些方法来访问它将处理谷歌重定向的其他动作类,我怎么能实现这一点,因为在给定的时间,所以许多用户可以要求使用谷歌登录。

        这方面的任何帮助都会受到很大关注。

        提前致谢

1 个答案:

答案 0 :(得分:1)

收到request token + token secret后,请使用request token作为会话的唯一键来存储令牌信息。在授权过程之后,在回调网址中,您可以访问request token(它是传递给回调网址的参数之一)。使用此参数作为会话密钥,您可以从会话中恢复令牌信息,包括token secret,并使用它来签署更改request token access token的请求。收到access token后,会向您返回一个新的token secret,您可以从会话中删除旧的request token

  

我怎样才能实现这一目标,因为在给定时间这么多用户可以要求   使用谷歌登录

这不是任何问题,因为对于您网站上的每个用户,您都会获得不同的{{1}}。