gpt4 book ai didi

javascript - 防止google自动触发data-onsuccess ="onSignIn"

转载 作者:可可西里 更新时间:2023-10-31 23:11:36 26 4
gpt4 key购买 nike

我做了 google connect 让用户使用他们的 google 帐户登录。

我所做的是,创建一个按钮

<div class="g-signin2 social_signin" data-onsuccess="onSignIn"></div>

然后创建onSignIn()

<script>
function onSignIn(googleUser) {
// Useful data for your client-side scripts:
var profile = googleUser.getBasicProfile();
console.log("ID: " + profile.getId()); // Don't send this directly to your server!
console.log("Name: " + profile.getName());
console.log("Image URL: " + profile.getImageUrl());
console.log("Email: " + profile.getEmail());

// The ID token you need to pass to your backend:
var id_token = googleUser.getAuthResponse().id_token;
console.log("ID Token: " + id_token);
};
</script>

然后将该 token 发送到 PHP 服务器进行验证和获取数据。这很好用。

但我的问题是,当用户从我的网站注销时,谷歌会自动触发“onSignIn”,而无需点击我创建的按钮。因此,当用户注销时,用户会自动重新登录。

你能帮我防止这种自动登录吗?或者我可以取消对用户的授权吗?

最佳答案

只需添加 onclick 并创建全局变量 clicked(默认为 false),变量为 true 即可调用 BasicProfile。

<div class="g-signin2 social_signin" onclick="ClickLogin()" data-onsuccess="onSignIn"></div>
<script>
var clicked=false;//Global Variable
function ClickLogin()
{
clicked=true;
}
function onSignIn(googleUser) {
if (clicked) {
profile = googleUser.getBasicProfile();
}
};
</script>

关于javascript - 防止google自动触发data-onsuccess ="onSignIn",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33858577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com