我正在尝试学习如何在我的网站上使用Google Signin。我按照我在此页面上找到的指南进行操作:https://developers.google.com/identity/sign-in/web/
所以我创建了一个新文档,我复制/浏览了他们在上面提到的代码。我在标记中添加了我的客户端ID,并测试了代码。 一切顺利,我可以登录。登录按钮改变了,并且说登录而不是登录。此外,在我查看我的控制台时,我可以看到来自console.log()的数据,如id,email,name,......
我继续阅读该指南,并找到了如何在此页面上添加“注销”按钮:https://developers.google.com/identity/sign-in/web/sign-in 我实现了这段代码,这里是我的完整代码(没有客户端ID)
<!--
<h1>Your Pictures:</h1>
{{range .Pics}}
<img class="insertedPics" src="{{.Path}}" alt="pic" id="{{.Id}}"
height="500px" width="500px">
{{end}}
{{range .Cars}}
<h3>{{.Make}} - {{.Model}} - {{.Year}} </h3>
{{end}}
<img src="{{.Pic.Path}}" alt="car pic" id="{{.Car.Id}}" height="600px" width="600px">
--> <-- Once I removed this, everything worked fine.
{{range .}}
<h3>{{.C.Make}} - {{.C.Model}}</h3>
<img src="{{.P.Path}}" alt="some pic" height="500px" width="500px"
style="">
{{end}}
当我点击它时,我会让用户退出。&#39;在我的控制台中。但是,如果我刷新页面,谷歌按钮仍然表示我已登录,并且配置文件信息将在我的控制台中返回 - 即使我手动清除控制台。退出按钮显然不起作用,我不知道为什么。
有人有这方面的经验吗?
感谢您的帮助!
答案 0 :(得分:0)
要拨打signOut
,您需要拨打电话authorize()
以获取用于将用户标记为已注销的id_token。
请参阅google-api-javascript-client GitHub上的this issue。
在那里发布了一个代码示例,说明您需要首先使用调用gapi.auth.authorize
的回调函数调用gapi.auth.signOut()
。
本质上,这样的事情:
gapi.auth.authorize(
{
'client_id': CLIENT_ID,
'scope': SCOPES,
'immediate': false,
cookie_policy: 'single_host_origin',
response_type: 'token id_token'
},
function (authResult) { gapi.auth.signOut();}
);