Oauth 2.0 这是跨站点请求防伪的有效方法吗?

Oauth 2.0 这是跨站点请求防伪的有效方法吗?,oauth-2.0,google-oauth,Oauth 2.0,Google Oauth,我正在实现“使用Google plus登录” 谷歌的说明说,当用户请求登录HTML页面时,我必须发送一个防伪令牌 我的理解是,我在我的登录页面的HTML中包含我的防伪令牌,用户单击“登录到Google plus”按钮,如果登录成功,Google会将代码返回到我的登录页面。然后,我的登录页面必须通过ajax POST请求将此代码返回到我的服务器 我明白,除了返回谷歌给我的代码外,我还必须返回我自己的防伪令牌。然后我查找这个令牌,以确保它是我以前发送的令牌 这是我的背景和问题 背景: 我不希望在后端

我正在实现“使用Google plus登录”

谷歌的说明说,当用户请求登录HTML页面时,我必须发送一个防伪令牌

我的理解是,我在我的登录页面的HTML中包含我的防伪令牌,用户单击“登录到Google plus”按钮,如果登录成功,Google会将代码返回到我的登录页面。然后,我的登录页面必须通过ajax POST请求将此代码返回到我的服务器

我明白,除了返回谷歌给我的代码外,我还必须返回我自己的防伪令牌。然后我查找这个令牌,以确保它是我以前发送的令牌

这是我的背景和问题

背景:

我不希望在后端存储令牌,我希望我的登录页面是无状态的。我的理解是,解决这个问题的办法是让我的防伪令牌成为我的服务器签名的密钥和随机数。当我拿回来时,我会检查以确保钥匙与发送的钥匙相同

我的问题是:

这种方法有效吗?当然,攻击者可以简单地请求我的登录页面,从中取出防伪令牌,并将其与他们以某种方式劫持的请求一起发送回去。 或者,我是否打算将服务器生成的防伪令牌专门绑定到特定的用户请求,例如,通过Google plus API往返我的防伪令牌,然后在交换令牌时在服务器端读取令牌


伙计,我的心在弯曲。我不确定我是否正确理解了这一点。

是的,您应该为验证的每个请求都有一个令牌。否则,就像你说的,这是毫无意义的,真的吗?为什么谷歌(以及网络上的许多其他来源)似乎对防伪代币如此重视?它的目的是防止CSRF攻击。搜索“双重提交cookie”。。。还有,检查一下