Einschränken der Anmeldung zu bestimmten Domäne mithilfe von Knoten-Pass mit dem Google Auth
Ich bin der Implementierung von Google Auth auf einen internen Dienst zu arbeiten. Es ist ein JS-client-heavy-Anwendung, die mit einem Knoten-backend. Ich bin Wahl auf das Node-Modul Passport.js mit dem passport-google-oauth-Strategie.
Habe ich erfolgreich habe es funktioniert, aber eine Sache ist immer noch verwirrend mich. Ich möchte sicherstellen, dass meine Anwendung können nur Mitarbeiter des Unternehmens anmelden. Ich verstehe, dass Sie können einschränken der Anmeldung von domain mit einem parameter mit der Bezeichnung "hd", laut der offiziellen Dokumentation.
Erstens nicht, wo Sie senden, dass die parameter im Kontext Passport.js? Ich verstehe einfach nicht, wo im code setzen. Wenn es hilft, ich habe meist folgenden das Beispiel Pass-google-oauth bietet.
Zweitens, in der Theorie, wie das alles funktioniert? Ist es auf der Google-Seite, wo Sie lehnen jeden, der versucht, Zugriff auf die app mit einer domain außerhalb unseres Unternehmens. Oder ist es auf meiner Seite, dass ich brauche, um zu überprüfen, welche domain der Anwender bei der Anmeldung aus?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ein Beispiel:
Und für eine gute Maßnahme, hier ist eine voll variable dump von dem, was die "Profil" - variable aussieht.
Hier sind einige detaillierte tutorials, das sollte die Antwort auf Ihre Frage über die Theorie hinter all dem. Sie wollen eine Kombination der beiden.
profile._json.hd
scheint nunprofile._json.domain
Empfehle ich eine 2-Schritt-Ansatz, um dieses. Würde lieben zu hören feedback, wenn dies overcomplicating it.
1) unterstützen der Benutzer bei der Auswahl der richtigen Konto
2) Validierung Ihr Profil
Wenn ein user an
accounts.google.com
zu authentifizieren, gibt es eine einfachehd=example.com
query-parameter in der URL. Sie können diese entfernen und authentifizieren Sie sich mit jedem account (Passport wird erfolgreich überprüfen Sie die Oauth-code-unabhängig von der Domäne des ausgewählten Kontos), so ist es sollte nur berücksichtigt werden, Zucker für den Endverbraucher und nicht die Sicherheit für den server.Wenn Pass hat beheben, die Authentifizierung, überprüfen Sie die gehostete domain als in aembke Antwort: