Boucle de redirection infinie sur la connexion en un clic de Google
P粉463840170
P粉463840170 2024-03-29 17:33:57
0
1
462

Je ne trouve aucune documentation sur Google One Tap UX et comment conserver le statut de connexion après la redirection de connexion. J'utilise l'API HTML, veuillez consulter le code ici :

setTimeout(function () {
    let target = document.getElementById('google-signin');
    target.innerHTML = '<div id="g_id_onload" data-client_id="x" data-context="signin" data-login_uri="https://x/account/google/callback" data-auto_select="true" data-itp_support="true"></div>';
    var s = document.createElement("script");
        s.src = 'https://accounts.google.com/gsi/client';
        
        document.head.appendChild(s);
        
        console.log('appended script', s);
    }, 30000);
</script>

Essentiellement, je retarde cette fenêtre contextuelle de connexion de 30 secondes, cette partie fonctionne bien, mais peu de temps après, cela se produit :

  1. La connexion se produit
  2. Redirection effectuée
  3. Le serveur redirige vers la page de référence
  4. Après 30 secondes, le processus recommence

J'aurais pensé que le SDK de Google définirait un cookie quelque part ou quelque chose du genre, mais je suppose que ce n'est pas le cas, ou je devrais gérer l'état de connexion persistant à ma manière. Je veux juste connaître la bonne approche ici.

Ma question est la suivante : Comment Google sait-il si un utilisateur est connecté à l'aide de Google One Tap UX ?

P粉463840170
P粉463840170

répondre à tous(1)
P粉115840076

J'ai trouvé une solution. Google vous permet de placer un cookie appelé data-skip_prompt_cookie="yourcookie" sur une balise div qui ignorera l'invite en un clic si le cookie a une vraie valeur.

Ce que j'ai fait, c'est que dans le rappel du serveur dans asp.net, j'ai ajouté un cookie à la réponse. Cela garantit que l'invite n'est désactivée qu'une fois que quelqu'un est réellement connecté.

Response.Cookies.Append(
            "yourcookie", "true");

Cela garantit que lorsque mon serveur redirige vers la page d'origine, le cookie est là et le clic ne se reproduira plus

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal