gpt4 book ai didi

ruby-on-rails - Rails - 对多个 IDP 使用 omniauth-saml

转载 作者:行者123 更新时间:2023-12-04 07:03:37 27 4
gpt4 key购买 nike

我最终想要的是能够使用设备正常登录或选择使用 SAML 登录。所以我读到如果我整合 omniauth 和 saml,然后 omniauth 和 devise,我可以实现这一点。

我的问题是,我有不同的 IDP 可供选择。所以我没有一个: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想要查询更多的信息。

关于ruby-on-rails - Rails - 对多个 IDP 使用 omniauth-saml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18297679/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com