我正在尝试为我的 google 网络应用程序实现 Oauth。我正在使用 POC,它工作正常,但我很困惑,不确定如何才能达到最佳效果。
我正在为 Oauth 使用 scribe java API。
这是我正在执行的步骤。
- 从 Google 获取请求令牌。
- 将用户重定向到 Google 以对其进行身份验证并授权我的服务访问他/她的一些详细信息。
- 通过提供 google 提供的请求令牌和验证码从 google 获取 Access Toekn。
- 谷歌提供访问令牌后访问用户信息。
现在我的主要困惑是在第 3 步,因为我正在开发一个 Web 应用程序,所以这将是一个 2 步过程。
- 将用户重定向到谷歌
- 处理回谷歌重定向。
为了获得访问令牌,我需要提供与步骤 1 相同的请求令牌,否则我的请求被用户拒绝。请求令牌包含两件事
- Toekn --> 它基于注册的应用程序,所以不是问题
- Secret-->这始终是一个随机字符串,因此在请求访问令牌时应该相同
这意味着我需要将这个秘密存储在我的会话中或某个地方,以便当用户被重定向回我的应用程序时我可以访问这个秘密。
我的困惑是,因为为了将它保存在会话中,我必须创建一个唯一的密钥和某种方式来在另一个操作类中访问它,这将处理谷歌重定向回来我怎么能实现这一点,因为在给定的时间这么多用户可以要求使用谷歌登录。
在这方面的任何帮助将不胜感激。
提前致谢