Ich habe einen Nginx-Server, der geschützte Ressourcen bereitstellt. Das Letzte, was ich tun möchte, ist die Verwaltung von Anfragen zur Kennwortrücksetzung, also habe ich mir angesehenMit Google anmelden.
Sie haben Beispiele für PHP, Java, JavaScript usw., aber nicht für Apache oder nginx. Wie kann ich nginx so konfigurieren, dass die Basisauthentifizierung durch dieMit Google anmeldenFunktionalität?
Einige dahinterliegende Proxysysteme sind von der Variable %REMOTE_USER% abhängig, daher muss diese beibehalten werden. Hilfe ist willkommen.
Aktualisieren Zur Verdeutlichung: Ich habe eine Reihe von Diensten (einen Tomcat, einen Node.js, einen CouchDB, einen Vert.x, ein Python), die hinter dem Webserver sitzen und die einem Benutzer die Interaktion mit ihnen erlauben können oder nicht. Sie alle haben gemeinsam, dass sie Identitätsinformationen von der Webebene empfangen können.
Was ich also in der Web-Ebene mache: spezifiziere - "authentifizierte Benutzer nur" (das ist einGenehmigungEinstellung, ich "wiederverwende" um dieAuthentifizierungMechanismus).
Sobald der Benutzer authentifiziert ist, werden diese Identitätsinformationen weitergegeben. Ein Beispiel mit Basisauthentifizierung und CouchDB finden Sie unterdieser Blogeintrag. Das Gleiche kann ich in nginx tun, aber hier besteht die Aufgabe darin, jemand anderen damit zu belasten, ein Passwort mithilfe von Identitäten geheim zu halten, die bei einem externen Anbieter eingerichtet wurden.
Antwort1
Vielleicht könnten Sie dieoauth2_proxyvor Ihrer Web-App.
Ein Reverse-Proxy und statischer Dateiserver, der eine Authentifizierung mithilfe von Anbietern (Google, GitHub und anderen) ermöglicht, um Konten per E-Mail, Domäne oder Gruppe zu validieren.
Antwort2
Während du kannsttheoretischOAuth auf Webserver-Ebene implementieren (Beispiel:http://chairnerd.seatgeek.com/oauth-support-for-nginx-with-lua/), ist das im Allgemeinen eine ziemlich schlechte Idee. Es gibt Beispiele für serverseitige Sprachen, denn dort sollten Sie es implementieren – in Ihrem Code, nicht auf Ihrem Server.