使用 Google 登录 nginx

使用 Google 登录 nginx

我有一个 nginx 服务器,用于提供受保护的资源。我最不想做的事情就是管理密码重置请求,所以我正在研究使用 Google 登录

他们有 PHP、Java、JavaScript 等的示例,但没有 Apache 或 nginx 的示例。如何配置 nginx 以将基本身份验证替换为使用 Google 登录功能?

后面的一些代理系统依赖于 %REMOTE_USER% 变量,所以我需要保留该变量。如能提供帮助,我将不胜感激。

更新 澄清一下:我有一组服务(tomcat、node.js、couchdb、vert.x 和一些 python),它们位于 Web 服务器后面,可能会也可能不会授权用户与它们交互。它们都有一个共同点,那就是它们可以从 Web 层接收身份信息。

因此,我在 Web 层执行的操作是:指定 - “仅限经过身份验证的用户”(这是授权设置,我“重复使用”来触发验证机制)。

一旦用户通过身份验证,该身份信息就会被传递。有关基本身份验证和 CouchDB 的示例,请查看这篇博文。我可以在 nginx 中做同样的事情,但这里的任务是让其他人使用与外部提供商建立的身份来保密密码。

答案1

也许你可以运行oauth2_proxy在您的网络应用程序前面。

反向代理和静态文件服务器使用提供商(Google、GitHub 和其他)提供身份验证,通过电子邮件、域或群组验证帐户。

答案2

虽然你可以理论上在网络服务器级别实现 OAuth(例如:http://chairnerd.seatgeek.com/oauth-support-for-nginx-with-lua/),这通常是一个非常糟糕的想法。这里有针对服务器端语言的示例,因为您应该在那里实现它 - 在您的代码中,而不是您的服务器中。

相关内容