如何将防伪状态传递给Google登录按钮或javascript?

Sam*_*Sam 4 python google-plus

我正在按照本教程创建一个登录按钮.

https://developers.google.com/+/web/signin/server-side-flow

但是我没有看到防伪状态如何传递给按钮片段(步骤4).

是否应该有按钮的数据状态参数?

整个教程没有提到状态代码如何从页面传递到谷歌服务器并返回到我的signInCallback函数.

<div id="signinButton">
  <span class="g-signin"
        data-scope="https://www.googleapis.com/auth/plus.login"
        data-clientid="YOUR_CLIENT_ID"
        data-redirecturi="postmessage"
        data-accesstype="offline"
        data-cookiepolicy="single_host_origin"
        data-callback="signInCallback">
  </span>
</div>
Run Code Online (Sandbox Code Playgroud)

然后在步骤6中,我看不到状态如何传递给ajax服务器调用.那么if-condition如何在第7步中起作用呢?

if request.args.get('state','')!= session ['state']:

在此先感谢您的帮助.

Sam*_*Sam 7

经过一番探索,我发现按钮上有一个未记录的参数,数据状态.一旦我设置它,我就可以回到我的回调函数.

<div id="signinButton">
  <span class="g-signin"
        data-scope="https://www.googleapis.com/auth/plus.login"
        data-clientid="YOUR_CLIENT_ID"
        data-state="MY_STATE" <!-- The state is sent to Google and back to my callback -->
        data-redirecturi="postmessage"
        data-accesstype="offline"
        data-cookiepolicy="single_host_origin"
        data-callback="signInCallback">
  </span>
</div>
Run Code Online (Sandbox Code Playgroud)