ruby-on-rails – Rails – 使用带有多个IDP的omniauth-saml
发布时间:2020-12-16 19:11:41 所属栏目:百科 来源:网络整理
导读:我最终想要的是能够通过设计正常登录或选择使用SAML登录.所以我读到,如果我整合omniauth和saml,那么omniauth和devise,我可以实现这一点. 我的问题是,我有不同的国内流离失所者,我想从中选择.所以我没有一个:idp_sso_target_url,但很多.所以我的问题是如何动
我最终想要的是能够通过设计正常登录或选择使用SAML登录.所以我读到,如果我整合omniauth和saml,那么omniauth和devise,我可以实现这一点.
我的问题是,我有不同的国内流离失所者,我想从中选择.所以我没有一个:idp_sso_target_url,但很多.所以我的问题是如何动态更改target_url的值.目前omniauth-saml gem在config / initializers目录中定义了这个值. 谢谢, 解决方法
您可以在db中存储每个提供程序的设置,然后在请求时在设置阶段配置omniauth.例如:
SETUP_PROC = lambda do |env| request = Rack::Request.new(env) user = User.find_by_subdomain(request.subdomain) env['omniauth.strategy'].options[:consumer_key] = user.consumer_key env['omniauth.strategy'].options[:consumer_secret] = user.consumer_secret end use OmniAuth::Builder.new do provider :twitter,:setup => SETUP_PROC end 有关更多信息,请参见https://github.com/intridea/omniauth/wiki/Setup-Phase. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |