作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我做了 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/
我做了 google connect 让用户使用他们的 google 帐户登录。 我所做的是,创建一个按钮 然后创建onSignIn() function onSignIn(googleUse
我是一名优秀的程序员,十分优秀!