0

我正在我的办公室网络中设置一项服务,我只想向我们网络之外的办公室伙伴公开该服务。我的想法是在一个端口上提供它,比如 8080,它不是由我们的路由器转发的,而是在端口 80 上有另一个服务。端口 80 服务应该需要来自 Google OpenID 的身份验证,并且一旦通过身份验证,就会将请求代理到端口 8080。如果您知道如何使用 OpenID 并限制域名,因为我的公司通过 Google 拥有业务域。这有可能吗?有没有人得到我在工作中想要得到的一些子集?

我正在通过rackup和apache的openid mod查看openid_connect_gateway,我得到了转发但不是真正的rackup代理。我可以通过 apache 获得我想要的东西吗?

4

1 回答 1

0

您可以使用 Apache 的 OAuth 模块执行此操作。查看页面上的示例,只需配置使用 mod_proxy 来对请求进行内部代理。不幸的是,我不得不重新创建升级到 apache 2.4 问题的部署原因。(它应该仍然可以工作,但在 OpenID 支持方面存在一些构建问题。)

http://findingscience.com/mod_auth_openid/

该页面上还有一个示例,用于限制可用于身份验证的域。基本上:

<Directory />
AuthType                          OpenID
AuthOpenIDSecureCookie on

require valid-user

AuthOpenIDTrusted ^https://www.google.com/accounts/o8/ud
AuthOpenIDAXRequire email http://openid.net/schema/contact/email @mydomain\.com
AuthOpenIDSingleIdP https://www.google.com/accounts/o8/id
AuthOpenIDAXUsername email
AuthOpenIDSecureCookie On
</Directory>

ProxyPass /my_unprotected_site http://localhost:9292/
ProxyPassReverse /my_unprotected_site http://localhost:9292/
于 2013-10-18T01:37:57.987 回答