用于代理阻塞端口上的站点的OpenID身份验证?

时间:2013-05-24 18:44:45

标签: proxy openid

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

我正在通过rackup和apache的openid mod查看openid_connect_gateway,我得到了转发但不是真正的机架代理。我能通过apache获得我正在寻找的东西吗?

1 个答案:

答案 0 :(得分: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/