我在我的办公室网络中设置了一个服务,我只想向我们网络之外的同事公开该服务。我的想法是在一个端口上提供它,比如说8080,它不是由我们的路由器转发的,而是在端口80上有另一个服务。端口80服务应该需要来自谷歌OpenID的身份验证,一旦通过身份验证,就会将请求代理到端口8080。加分,如果你知道如何使用OpenID与域名的限制,因为我的公司通过谷歌有一个商业域名。这一切都有可能吗?有没有人理解了我想要做的一些事情?
我通过rackup和apache的openid mod查看了openid_connect_gateway,通过rackup我得到了转发,但没有真正的代理。我能通过apache得到我想要的东西吗?
发布于 2013-10-18 09:37:58
您可以使用Apache的OAuth模块来实现这一点。请参阅页面上的示例,只需配置使用mod_proxy来执行请求的内部代理。不幸的是,我不得不重新创建升级到Apache2.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/https://stackoverflow.com/questions/16741669
复制相似问题