Beschränken Google-Konto-Logins auf eine bestimmte Apps-Domain
-
01-10-2019 - |
Frage
Wie kann ich damit Benutzer anmelden, um meinen Web-App mit ihrem Google-Konto, und stellen Sie sicher, dass sie in einer bestimmten Google Apps-Domain angemeldet?
Ist die hd Parameter den Dienst Google Authorization sicherzustellen, dass nur die ausgewählte Domäne Anmeldung genutzt werden?
Oder kann ich die in dem E-Mail-Benutzer protokolliert werden und sicherstellen, dass es endet mit „@ domain.com“? Dies scheint nicht wie so eine gute Idee.
Nach der Anmeldung habe ich auch zugreifen müssen die Google-Kontakte der Nutzer, die in der Dokumentation nach erfordert AuthSub Proxy-Authentifizierung .
Lösung
Haben Sie einen Blick auf die anderen OpenID docs vorgeschlagen. Kurz gesagt, müssen Sie den Benutzer auf eine benutzerdefinierte Login-URL auf der Grundlage ihrer Domain-Namen umleiten - das heißt Sie müssen ihre Domain-Namen, bevor Sie, um herauszufinden, Umleitung heißt Ihr hd Parameter, die in der Tat Kräfte auf die angegebene Domäne anmelden
Dies wird auch zur Unterstützung der SSO für Google Apps-Domains, wo die Authentifizierung für den Benutzer benötigt wird, nicht von Google behandelt, sondern von einem Dritten Service.
Stellen Sie sicher, dass Sie die OpenID-Provider überprüfen, nicht nur den E-Mail-Adresse Domain-Namen, wenn Sie die Authentifizierungsinformationen zu tun bekommen.
Andere Tipps
Sie können die OpenID-Endpunkte für Google Apps-Domains verwenden, wie hier beschrieben: http://groups.google.com/group/google-federated-login-api/web/openid-discovery-for-hosted-domains
Abhängig von Ihrer OpenID Bibliothek, können Sie / nicht in der Lage sein, es zu benutzen though. ZB openid4java unterstützt es noch nicht
Es scheint, kann ich das OpenID + OAuth Hybrid-Protokoll , um sowohl den Benutzer zu identifizieren und einen Zugriff auf die Daten-APIs Token erhalten, wie in dieses Blog-Post .
Edit:. aktualisiert Toten Link zu Live-Blog-Post