Google+ und Google Identity Platform API

8

tl; dr: kann jemand erklären, was genau der Unterschied bei der Implementierung des clientseitigen Google-Login-Datenflusses zwischen diesen beiden Plattformen ist?

Die Hintergrundgeschichte:

Ich habe versucht, clientseitige Google-Anmeldung auf meiner Website zu implementieren. Zuerst habe ich die Google+ Plattform mit globalen Einstellungen mithilfe von Tags implementiert, sodass die Benutzersitzung überwacht wird. Haben Sie die Informationen hier: Ссылка

Ich stieß jedoch auf ein Problem, bei dem die Site automatisch nach dem Benutzeranmeldezustand suchte, wenn der Benutzer nicht angemeldet war. Dies führte zu vielen "toastr" -Nachrichten von "Abgemeldet", die ich in der signInCallback-Funktion implementierte. Es war ziemlich ärgerlich.

Also habe ich etwas recherchiert und bin über ihre "Schnellstart-App" gestolpert und habe sie durchgeblättert. Es ist viel komplizierter als sein Leitfaden, viele Elemente wurden auf Google Identity Platform dokumentiert, hier: Ссылка

Jetzt verstehe ich nicht wirklich, wie man den Login korrekt implementiert - ist es die leichtgewichtige Google+ Schaltfläche mit Tag-Callback-Check für den Benutzerstatus, oder ist es der robuste GIP-Weg mit Listenern, Gapi-Instanzen und allem? Was genau bieten diese Plattformen?

    
Idefixx 22.04.2015, 13:41
quelle

1 Antwort

12

Sowohl die Google+ Plattform-Anmeldung (gapi.auth) als auch die Identitätsplattform (gapi.auth2) sind verwandt und funktionieren ähnlich.

Die Hauptunterschiede zwischen den beiden sind:

gapi.auth2 unterstützt modernere JavaScript-Funktionen ( Listener und Versprechungen ), damit Sie dies tun können :

%Vor%

... auth2 hat eine explizitere Syntax, um Ihnen mehr Kontrolle über das Verhalten zu geben:

%Vor%

Und auth2 bietet grundlegende Profilunterstützung ohne einen zusätzlichen API-Aufruf zu benötigen:

%Vor%

Kurz gesagt, ich empfehle die in Ссылка dokumentierten Ansätze wie Ссылка .

Die korrekte Anmeldung hängt von der Art der gewünschten Anmeldung ab:

  • Client-only, Sie können nur die JavaScript / iOS / Android-Clients
  • verwenden
  • Hybrid-Client-Server-Authentifizierung, Sie müssen etwas implementieren, das einem der Schnellstarts ähnlich ist

Wenn Sie nur clientberechtigt sind, sollte es ziemlich einfach sein: Sie autorisieren den Benutzer und greifen dann über den API-Client auf die Ressourcen zu. Wenn Sie etwas anspruchsvolleres tun, z.B. Verwalten von Sitzungen usw. sollten Sie ID-Token vom API-Client verwenden, um die Sitzung des Benutzers zu autorisieren, nachdem Sie Ihren Server mit einem Autorisierungscode autorisiert haben.

    
class 24.04.2015, 22:22
quelle