使用 openid 作为静态内容身份验证的最简单方法

Posted

技术标签:

【中文标题】使用 openid 作为静态内容身份验证的最简单方法【英文标题】:Simplest way to use openid as authentication for static content 【发布时间】:2011-11-06 23:20:29 【问题描述】:

我有一个私人网站,用作内部网站,供世界各地拥有我的 Google Apps 域 (example.com) 帐户的员工使用。他们目前使用 OpenId 来登录各种协作工具,所以我也想在我的网站上使用它。

    我想使用 Google Apps 提供的 OpenID 登录(而不是基本 HTTP 身份验证)来保护我的私人会员专用网站上的静态内容。

    我知道任何人都可以成为 OpenID 提供商,因此我想将其限制为一个域名,特别是我的 Google Apps 域。

目前我的静态内容是通过 nginx 提供的。我更喜欢一个简单的 Nginx 模块,只需要一点设置就可以处理这个问题。

如果我不得不动手,我不介意设置一个基本的 Python(比如 Django)或 Java 服务器来处理这个问题,但我不想使用 php 或 Ruby。

【问题讨论】:

看看这篇 NGiNX 博文:nginx.com/blog/validating-oauth-2-0-access-tokens-nginx 【参考方案1】:

根据内容的数量,为什么不将其放在 Google App Engine 上?

您可以静态放置的内容数量(不过您可以从 DB 提供)以及每天的更改数量是有限制的。

如果您的内容足够小并且不会太频繁地更改(我相信每天最多 100 次),这可能会解决您的身份验证问题并大大简化您的生活!

【讨论】:

您是否打算让 GAE 内置 openid 支持?设置起来多么简单。 嗯,对于公司网站(这是)我不确定我是否愿意为此使用应用程序引擎。该站点非常简单(静态页面),因此最好有一个简单的开放 ID 或基于 oauth 的身份验证【参考方案2】:

对于 lighttpd,有https://lighttpd-external-auth.chmd.fr。

我相信它可以毫无困难地移植到 nginx lua 脚本接口。

【讨论】:

您好,该链接不再起作用(它转到个人网站,但没有显示我要查找的脚本)。我在github.com/chmduquesne/lighttpd-external-auth 找到了脚本(不再维护)

以上是关于使用 openid 作为静态内容身份验证的最简单方法的主要内容,如果未能解决你的问题,请参考以下文章

使用社交身份验证限制访问静态网站的最简单方法是啥

成功 NodeJS 身份验证后使用 Nginx 提供静态内容

简单 SSO - 使用自定义身份验证 - CAS 或一些 Oauth 或 openid 服务器?

简单 SSO - 使用自定义身份验证 - CAS 或一些 Oauth 或 openid 服务器?

无法让 OpenID 身份验证与 Onelogin 和 Azure Web 应用程序一起使用

Asp.Net Core API OpenId-Connect 身份验证与 JWT 令牌使用 IdentityModel