1

我在 Omniauth ( https://github.com/toyokazu/omniauth-shibboleth ) 中使用 shibboleth 作为身份验证提供程序。成功登录并重定向到 rails 后,它无法创建新会话,因为它看不到任何 Shib-Session-ID 或 Shib-Application-ID。在同一台 apache 服务器上,其他 Web 应用程序(java)使用相同的 shibboleth 端点,没有任何问题。

4

1 回答 1

2

您是否尝试过:omniauth-shibboleth 的 :debug 选项?它不显示 Shib-Session-ID 或 Shib-Application-ID 吗?

如果您的 Java Web 应用程序可以正确地从 Apache 接收环境变量,Rails 应用程序的 URI 必须与 Java 应用程序的 URI 不同。您必须将 rails URI 添加到 shibd 配置以保护您的 rails 应用程序。有关详细信息,请参阅自述文件“如何验证用户”部分。

https://github.com/toyokazu/omniauth-shibboleth

如果你的词'endpoint'表示URI'/yourapp/shibboleth/callback'与Rails 1完全相同,则Shib-Session-ID或Shib-Application-ID应该与:debug选项一起显示。在这种情况下,我找不到原因。一种可能性是您正在使用单独的 Rails 应用程序服务器,例如 mongrel、thin 或 unicorn 等。由于安全原因,我们目前只支持像 Phusion 乘客这样的 Apache 模块。另请参阅自述文件。

此致

于 2013-03-27T17:14:02.547 回答