Comment Déconnexion d'une Application dans laquelle j'ai Utilisé OAuth2 Pour vous connecter Avec Google?
Dans mon application, j'ai mis en place Google signout à l'aide de jsapi.
J'ai utilisé l'url https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=xxxxxx pour se connecter à Google et ensuite https://www.googleapis.com/plus/v1/people/xxxxxx pour obtenir les données des utilisateurs de google profil.
Maintenant, j'ai besoin de signout l'utilisateur de Google en cliquant sur un bouton de mon application. Comment puis-je mettre en JavaScript, ou, au moins, il doit demander à Google la page de connexion à chaque fois que l'utilisateur se connecte.
J'ai essayé approval_prompt=force
, mais semble ne pas fonctionner.
Vous devez vous connecter pour publier un commentaire.
Vue d'ensemble de l'authentification OAuth: c'Est l'Utilisateur Qui Il/Elle a Dit qu'Il/Elle est?:
Je ne suis pas sûr si vous avez utilisé OAuth pour vous connecter à un Débordement de Pile, à l'instar de la "Connexion avec Google" option, mais lorsque vous utilisez cette fonctionnalité, Stack Overflow est simplement en demandant à Google que si elle sait qui vous êtes:
Si vous êtes déjà connecté, Google va dire OUI. Si non, Google va dire:
Lorsque vous entrez votre mot de passe Google, Google indique alors à Débordement de Pile vous êtes qui vous dites que vous êtes, et de Dépassement de Pile vous connecte.
Lorsque vous vous déconnectez de votre app, vous êtes déconnecté de votre application:
Voici où les développeurs de nouvelles à OAuth parfois un peu confus... Google et de Dépassement de Pile, Assembla, Vinesh du-très-cool-slick-webapp, sont toutes différentes entités, et Google ne sait rien à propos de votre compte sur Vinesh est cool webapp, et vice versa, en dehors de ce qui est exposé via l'API que vous utilisez pour accéder à des informations de profil.
Lorsque l'utilisateur se déconnecte, il ou elle n'est pas de vous déconnecter de Google, il/elle est de vous déconnecter de votre application, ou d'un Débordement de Pile ou Assembla, ou quoi que l'application web Google OAuth pour authentifier l'utilisateur.
En fait, je peux me connecter de l'ensemble de mes comptes Google et de toujours être connecté à un Débordement de Pile. Une fois que votre application ne sait qui est l'utilisateur, cette personne peut se déconnecter de Google. Google n'est plus nécessaire.
Avec cela dit, ce que vous demandez à faire est de connecter l'utilisateur d'un service qui vraiment ne vous appartient pas. Penser comme ceci: en tant Qu'utilisateur, comment ennuyé pensez-vous que je serais si je suis connecté sur 5 services différents avec mon compte Google, puis la première fois, je me suis déconnecté de l'un d'eux, je dois me connecter à mon compte Gmail à nouveau parce que le développeur de l'application a décidé que, lorsque je me déconnecte de sa demande, je devrais aussi être déconnecté de Google? Qui va vieillir très vite. En bref, vous ne voulez vraiment pas à faire ce...
Yeh yeh, que ce soit, j'ai encore envie de déconnecter l'utilisateur De Google, dis-moi juste comment puis-je faire cela?
Avec cela dit, si vous toujours souhaitez connecter un utilisateur de Google, et de réaliser que vous pouvez très bien être perturbant leur flux de travail, vous pouvez créer dynamiquement l'url de déconnexion de l'un de leurs services Google bouton de déconnexion, puis invoque que l'utilisation d'un élément img ou balise script:
OU
OU
Si vous redirigez votre utilisateur à la page de déconnexion, ou de l'appeler à partir d'un élément qui n'est pas inter-domaine restreint, l'utilisateur sera déconnecté de Google.
Noter que cela ne signifie pas nécessairement l'utilisateur sera déconnecté de votre application, seulement Google. 🙂
Résumé:
Ce qui est important pour vous de garder à l'esprit est que, lorsque vous vous déconnectez de votre application, vous n'avez pas besoin de faire de l'utilisateur de re-entrer un mot de passe. C'est toute la question! Il s'authentifie à l'encontre de Google de sorte que l'utilisateur n'a pas à entrer son mot de passe de plus de et plus et plus encore, dans chaque application web, il ou elle utilise. Il faut s'habituer à, mais nous savons aussi que, aussi longtemps que l'utilisateur est connecté à Google, votre application n'a pas besoin de s'inquiéter de savoir si l'utilisateur est bien celui qu'il/elle dit qu'il/elle est.
J'ai la même mise en œuvre dans un projet comme vous le faites, utilisez le Google des informations de Profil avec OAuth. J'ai essayé la même chose, vous êtes à la recherche d'essayer, et il a vraiment commencé à faire des gens en colère quand ils avaient à se connecter à Google plus et plus encore une fois, nous avons donc arrêté la journalisation de sortir de Google. 🙂
auth2.signOut()
. Que fait-il exactement à faire dans une application web? Je sais que pour la déconnexion de l'utilisateur de mon application web, je dois appeler mon propre serveur script/code. Alors, qui est l'utilisation deauth2.signOut()
comme montré dans google documents? Une idée? Bonne explication de la tva.auth2.signOut()
ne fonctionne pas sur localhost :p . Depuis que nous avons spécifier une url spécifique dans OAuth Projet , lors de la création d'un id de client, il crée un jeton pour que l'identification du client et sur l'appel deauth2.signOut();
seulement le jeton invalidé. Afin de connecter l'utilisateur d'autoriser une fois de plus par l'intermédiaire de google id. Merci pour la réponse rapide 🙂Vous pouvez vous connecter et rediret de votre site:
Pour moi, ça fonctionne (java - android)
Vous devez appeler cette fonction dans AsyncTask dans android
Il vous suffit de Créer un bouton de déconnexion et d'ajouter ce lien sera utimately la session à partir de l'app et de redirection vers votre site souhaité:
https://appengine.google.com/_ah/logout?continue=http://www.YOURSITE.com
juste basculer VOTRESITE avec votre site web
Cela fonctionne à signer l'utilisateur de l'application, mais pas Google.
Source: https://developers.google.com/identity/sign-in/web/sign-in
AuthInstance
que vous avez utilisé. Votre source dit elle-même... "Vous pouvez permettre aux utilisateurs de se déconnecter de votre application sans signature de Google..."Ouath fait juste le Google instance null, donc il vous déconnecter de Google. Maintenant que c'est la façon dont l'architecture est faite. De vous déconnecter de Google, si vous vous déconnectez de votre application est un sale boulot, mais ne peut pas l'aider si l'exigence stipule le même. Donc ajouter les lignes suivantes à votre signOut() fonction. Mon projet était Angulaire 6 app:
document.emplacement.href = "https://www.google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout?continue=http://localhost:4200";
Ici localhost:4200 est l'URL de mon application. Si votre page de connexion est xyz.com puis entrée.
ce code fonctionne pour vous déconnecter
J'espère que nous pourrons atteindre cet objectif en stocker le jeton de session lors de la connexion et l'accès au jeton lorsqu'il clique sur déconnexion.