5

我想使用 Google Apps 对我公司的一些内部网站进行身份验证。我们一直在使用基于 openid 的 apache 模块mod_auth_openid,自从它最近被弃用以来,我开始寻找替代品并找到了mod_auth_openidc. 但我无法真正让它工作,因为我不了解它的大部分内容(我什至尝试关注一些文章(article1article2)但这并没有帮助,因为我不清楚)。

有没有其他解决方案/文章可以帮助我做到这一点?

4

2 回答 2

10

README.md 中的第一个示例: https ://github.com/pingidentity/mod_auth_openidc/blob/master/README.md 提供了一个很好的起点:

OIDCProviderMetadataURL https://accounts.google.com/.well-known/openid-configuration
OIDCClientID <your-client-id-administered-through-the-google-api-console>
OIDCClientSecret <your-client-secret-administered-through-the-google-api-console>

OIDCRedirectURI https://www.example.com/example/redirect_uri
OIDCCryptoPassphrase <password>

OIDCScope "openid email profile"

<Location /example/>
    AuthType openid-connect
    Require valid-user
    Require claim hd:<your-domain>
</Location>

普通的 http 可以工作,斜杠可以工作(如果在示例中一致使用),不需要证书,只需要一个完全限定的域名,Debian 软件包在 Ubuntu 14.04 上工作。

您提到的文章还显示了如何配置 Google 方面的东西。

于 2014-07-19T05:39:43.783 回答
0

编辑:我只花了几个小时来配置它。我最终使用了 PingIdentity 的 OpenID Connect RP - https://github.com/pingidentity/mod_auth_openidc(开源 - Apache 许可证:https://github.com/pingidentity/mod_auth_openidc/blob/master/LICENSE.txt

效果很好,配置真的很挑剔。一些陷阱:

  • 需要 HTTPS - HTTP 将无法正常工作(尽管文档说了什么)
  • 所有路径和域必须正确设置并匹配
  • Cookie 和其他路径不得有斜杠 (/)
  • ServerName 必须与证书匹配
  • 需要一个真正的证书(〜$ 10)
  • 必须禁用 OIDCMetadataDir 才能使用 Google
  • 二进制发行版不适用于 Ubuntu,我从头开始编译
  • 编译需要几个依赖项并运行 autoconfig.sh
  • 需要通过 Google 的 API 控制台进行设置,使用 Google+ API

换句话说,它不能容忍可能与 vanilla Apache 一起工作的草率配置。但是,最后,它工作得很好。顺便说一句,这里有这个模块的新 Google 组: https ://groups.google.com/forum/#!forum/mod_auth_openidc

我原始答案中的其他解决方案(未经测试)

PS删除了以前的答案以合并两个堆栈帐户....

于 2014-07-15T23:30:58.053 回答