使用 JS 注销 Google+
Signing out of Google+ using JS
我想在我的网站上放置一个 Google+ 登录按钮。该按钮工作完美。我也有一个注销按钮。我在用户登录时隐藏登录按钮 in.My 代码在这里:
<span id="signinButton">
<span
class="g-signin"
data-callback="signinCallback"
data-clientid="******************"
data-cookiepolicy="single_host_origin"
data-requestvisibleactions="http://schema.org/AddAction"
data-scope="https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email">
</span>
</span>
<button id="revokeButton" onclick="gapi.auth.signOut()">Sign Out</button>
<script>
function signinCallback(authResult) {
if (authResult['status']['signed_in']) {
document.getElementById('signinButton').setAttribute('style', 'display: none');
console.log("User successfully logged in!!");
} else {
console.log('Sign-in state: ' + authResult['error']);
}
}
</script>
<script>
function disconnectUser(access_token) {
var revokeUrl = 'https://accounts.google.com/o/oauth2/revoke?token=' +
access_token;
// Perform an asynchronous GET request.
$.ajax({
type: 'GET',
url: revokeUrl,
async: false,
contentType: "application/json",
dataType: 'jsonp',
success: function(nullResponse) {
document.getElementById('signinButton').setAttribute('style', 'display: display');
// The response is always undefined.
console.log("Success in logging out!");
},
error: function(e) {
// Handle the error
console.log(e);
// You could point users to manually disconnect if unsuccessful
// https://plus.google.com/apps
}
});
}
</script>
问题是当我使用 gapi.auth.signOut() 注销时...它会注销我,但在刷新时再次将同一用户登录到 Google+。我如何允许其他人登录到我的站点。如何从 Google 中完全注销人员。我是 Javascript 的新手...举个例子会有所帮助。
这个答案更像是一个笑话,但你为什么不尝试通过向正文添加隐藏的 iframe 来从他的 google 帐户注销用户的 hacky 方法src
https://accounts.google.com/Logout
?
由于 X-Frame-Options 设置为 DENY,它会拒绝显示,但实际上会将您注销。
一行 jquery:
$('<iframe style="display: none" src="https://accounts.google.com/Logout"></iframe>').appendTo(document.body);
我想出的答案很简单。用户第一次登录时,他没有登录到我的站点。所以显然用户必须登录。下次页面刷新时...Google+ 检查用户是否已经登录任何 Google 服务,如 gmail 等。并保留用户如果答案为真,则登录。要检查这是否有效...注销任何 Google 服务(gmail 等)并尝试使用 Google+ 登录。它将要求凭据。所以一旦用户登录Google+,he/she就不需要每次都登录了。
我想在我的网站上放置一个 Google+ 登录按钮。该按钮工作完美。我也有一个注销按钮。我在用户登录时隐藏登录按钮 in.My 代码在这里:
<span id="signinButton">
<span
class="g-signin"
data-callback="signinCallback"
data-clientid="******************"
data-cookiepolicy="single_host_origin"
data-requestvisibleactions="http://schema.org/AddAction"
data-scope="https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email">
</span>
</span>
<button id="revokeButton" onclick="gapi.auth.signOut()">Sign Out</button>
<script>
function signinCallback(authResult) {
if (authResult['status']['signed_in']) {
document.getElementById('signinButton').setAttribute('style', 'display: none');
console.log("User successfully logged in!!");
} else {
console.log('Sign-in state: ' + authResult['error']);
}
}
</script>
<script>
function disconnectUser(access_token) {
var revokeUrl = 'https://accounts.google.com/o/oauth2/revoke?token=' +
access_token;
// Perform an asynchronous GET request.
$.ajax({
type: 'GET',
url: revokeUrl,
async: false,
contentType: "application/json",
dataType: 'jsonp',
success: function(nullResponse) {
document.getElementById('signinButton').setAttribute('style', 'display: display');
// The response is always undefined.
console.log("Success in logging out!");
},
error: function(e) {
// Handle the error
console.log(e);
// You could point users to manually disconnect if unsuccessful
// https://plus.google.com/apps
}
});
}
</script>
问题是当我使用 gapi.auth.signOut() 注销时...它会注销我,但在刷新时再次将同一用户登录到 Google+。我如何允许其他人登录到我的站点。如何从 Google 中完全注销人员。我是 Javascript 的新手...举个例子会有所帮助。
这个答案更像是一个笑话,但你为什么不尝试通过向正文添加隐藏的 iframe 来从他的 google 帐户注销用户的 hacky 方法src
https://accounts.google.com/Logout
?
由于 X-Frame-Options 设置为 DENY,它会拒绝显示,但实际上会将您注销。
一行 jquery:
$('<iframe style="display: none" src="https://accounts.google.com/Logout"></iframe>').appendTo(document.body);
我想出的答案很简单。用户第一次登录时,他没有登录到我的站点。所以显然用户必须登录。下次页面刷新时...Google+ 检查用户是否已经登录任何 Google 服务,如 gmail 等。并保留用户如果答案为真,则登录。要检查这是否有效...注销任何 Google 服务(gmail 等)并尝试使用 Google+ 登录。它将要求凭据。所以一旦用户登录Google+,he/she就不需要每次都登录了。