Cookie中的OAuth2授权码,好还是坏?

时间:2014-08-22 11:14:38

标签: authentication cookies go oauth-2.0 google-oauth

我似乎无法找到关于如何保留OAuth2身份验证的简单答案...让我们以Google+ OAuth2 API为例。

  1. 用户转到第
  2. 用户未经过身份验证,并被重定向到他登录的身份验证页面
  3. 用户成功登录并授权我的应用
  4. 用户通过授权码
  5. 重定向到指定的(由我)URI
  6. 我使用授权码来获取令牌,以便以用户名提交查询
  7. 一切都很好。我的问题是:你如何在第2步安全地知道访问该页面的用户已经登录,而无需完成将他重定向到所有这些页面的整个过程。

    我假设将步骤4中检索到的授权码存储在cookie中不是一种选择。

    所有这些都将发生在服务器端(Go - 如果这很重要)应用程序。 非常感谢任何帮助...我需要一个简单的解决方案。

    谢谢!

1 个答案:

答案 0 :(得分:1)

使用服务器端会话来存储任何身份验证状态,甚至在需要时访问令牌。

一种解决方案是使用数据库进行会话存储(加密的cookie包含会话ID) 另一种是使用cookie会话(保存会话数据的加密cookie)。 使用只有服务器才能解密的加密cookie应该足够安全。