ruby-on-rails – OpenProject OmniAuth SAML单点登录集成
发布时间:2020-12-17 01:19:34 所属栏目:百科 来源:网络整理
导读:我尝试使用 OpenProject OmniAuth SAML Single-Sign On插件设置与OpenProject的SSO(单点登录)集成.我已经配置了相关的细节.生成元数据并将其注册到由Shibboleth提供支持的IDP.该插件确实在openproject登录表单上显示了一个额外的登录按钮.单击它正确地重定向
我尝试使用
OpenProject OmniAuth SAML Single-Sign On插件设置与OpenProject的SSO(单点登录)集成.我已经配置了相关的细节.生成元数据并将其注册到由Shibboleth提供支持的IDP.该插件确实在openproject登录表单上显示了一个额外的登录按钮.单击它正确地重定向到IDP的登录页面.提供凭据后,它正确地重定向到我提到的AssertionConsumerService URL.它的格式为https://example.com/openproject/auth/saml/callback.但该页面显示错误的请求错误.调试文件app / controllers / concerns / omniauth_login.rb表明,在omniauth_login函数中,以下代码行导致400错误.
auth_hash = request.env['omniauth.auth'] return render_400 unless auth_hash.valid? auth_hash的值看起来是空的.由于属性映射或其他原因,这可能是一个问题吗?我来自PHP bacnkground,没有铁轨上的ruby经验.因此很难调试问题.我已经尝试过谷歌搜索,但找不到任何有用的东西. 任何帮助是极大的赞赏. 谢谢 解决方法
替换以下代码
uid { @name_id } 使用以下代码 uid do if options.uid_attribute ret = find_attribute_by([options.uid_attribute]) if ret.nil? raise OmniAuth::Strategies::SAML::ValidationError.new("SAML response missing '#{options.uid_attribute}' attribute") end ret else @name_id end end 在 – 的里面
文件.它在def other_phase函数内 如需参考,请查看以下github链接 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |