Nginx

使用 Google 登錄 nginx

  • January 18, 2019

我有一個提供受保護資源的 nginx 伺服器。我想做的最後一件事是管理密碼重置請求,所以我正在查看Login with Google

他們有 PHP、Java、JavaScript 等的範例,但沒有 Apache 或 nginx 的範例。如何配置 nginx 以使用Login with Google功能替換基本身份驗證?

後面的一些代理系統依賴於 %REMOTE_USER% 變數,所以我需要保留那個。幫助表示讚賞。

更新 澄清:我有一組服務(一個tomcat,一個node.js,一個couchdb,一個vert.x,一些python)位於Web伺服器後面,可能會或可能不會授權使用者與它們互動。它們都有一個共同點,就是可以從 Web 層接收身份資訊。

所以我在 Web 層所做的:指定 - “僅限經過身份驗證的使用者”(這是一個授權設置,我“重用”以觸發身份驗證機制)。

一旦使用者通過身份驗證,該身份資訊就會被傳遞。有關基本身份驗證和 CouchDB 的範例,請查看此部落格條目。我可以在 nginx 中做同樣的事情,但這裡的任務是使用與外部提供商建立的身份來保護其他人的密碼秘密。

也許您可以在您的網路應用程序前面執行oauth2_proxy 。

反向代理和靜態文件伺服器,使用提供者(Google、GitHub 和其他)提供身份驗證,以通過電子郵件、域或組驗證帳戶。

雖然理論上您可以在網路伺服器級別實現 OAuth(例如:http ://chairnerd.seatgeek.com/oauth-support-for-nginx-with-lua/ ),但這通常是一個非常糟糕的主意。有伺服器端語言的範例,因為那是您應該實現它的地方 - 在您的程式碼中,而不是在您的伺服器中。

引用自:https://serverfault.com/questions/595095