我正在使用谷歌OAuth 2.0为我的网站提供登录(我的公司的其他开发者可以使用一个rinkydink内部工具,所以安全性并不是最重要的,但有一些访问限制)然而,一旦登录,我就不需要访问任何额外的谷歌资源--我只需要收到用户电子邮件,并考虑用户登录。这通常是怎么做到的?我看到的选择是..。
将此登录存储在cookie中,并不再与Google联系(至少在cookie超时或用户手动注销之前)
让长期cookie存储密钥(服务器存储OAuth代码),并在用户想要执行敏感操作时重新进行身份验证。
让一个长期cookie存储一个密钥(服务器存储OAuth代码),以及一个在关闭浏览器时过期的短期会话cookie。每当他们第一次访问页面时,我都会重新验证一次,并给他们这个会话cookie。
发布于 2016-08-25 14:21:20
通常,对于基于令牌的身份验证,您有两种类型的令牌:
这些是传递给实际请求访问资源的令牌。它们的寿命很短。
这些令牌用于在新的访问令牌过期后获得它。它们具有较长的过期时间,并且安全地存储在系统上。
这背后的想法是,访问令牌将用于授予您对资源的访问权限。它们在短时间内过期,因此,如果受到破坏,对系统的访问是有限的。刷新令牌只需要在需要新的访问令牌时使用,所以不要经常通过线路传输。强调安全地存储刷新令牌。
有两种方法可以用来存储令牌,即Web存储和Cookies。在这两种选择中,我目前的首选是带有标志HttpOnly和安全集的Cookies。
发布于 2016-08-25 18:09:08
如果您没有使用第三方进行身份验证,我建议您采取相同的方法:一旦会话过期,重新身份验证。
一旦用户通过认证,就没有理由再联系谷歌了。在使用access_token访问身份验证所需的资源之后,甚至不需要存储它。
这样,您需要担心的唯一参数是会话应该持续多长时间。这将取决于您的安全要求。
https://security.stackexchange.com/questions/134895
复制相似问题