我需要一种使用omniauth saml将动态参数从SP发送到IDP的方法。要求有两个网站:网站1和网站2。网站1由另一个已经实施saml的团队控制。在我的网站上,我添加了一个按钮,点击它,我将向网站1发送请求。在请求的同时,我需要发送用户参数,如first\u name、last\u name、email
当我浏览文档时,我认为我需要利用
:idp_sso_target_url_runtime_params => {:original_request_param => :mapped_idp_param},
但我不确定如何通过它传递动态参数。在我之前的帖子中,有人推荐我做一个猴子补丁,但它对我不起作用。有人有什么建议吗
Rails.application.config.middleware.use OmniAuth::Builder do
provider :saml,
#:assertion_consumer_service_url => "consumer_service_url",
:issuer => "my_application",
:idp_sso_target_url => "target_url",
:idp_sso_target_url_runtime_params => {:original_request_param => :mapped_idp_param},
:idp_cert => "-----BEGIN CERTIFICATE-----\n...-----END CERTIFICATE-----",
:name_identifier_format => "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
end
您可以通过中间件适配器传递动态值。像:
应用/服务/saml_idp_setting_adapter.rb
class SamlIdpSettingAdapter
def self.settings(issuer)
idp = ::IdentityProvider.find_by_issuer(issuer)
if idp.present?
{
assertion_consumer_service_url: "#{ENV['APP_URL']}/users/saml/auth",
assertion_consumer_service_binding: 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
name_identifier_format: 'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress',
issuer: "issuer",
idp_entity_id: idp.entity_id,
idp_slo_service_url: idp.slo_target_url,
idp_sso_service_url: idp.sso_target_url,
idp_cert_fingerprint: idp.cert_fingerprint,
idp_cert_fingerprint_algorithm: 'http://www.w3.org/2000/09/xmldsig#sha256'
}
else
{}
end
end
end
并使用上述适配器设置初始化器文件
Rails.application.config.middleware.use OmniAuth::Builder do
provider :saml,
:idp_settings_adapter => SamlIdpSettingAdapter
end
问题内容: 我在我的一个应用程序中使用(http://www.devbridge.com/projects/autocomplete/jquery/)。搜索表单如下所示: 自动完成配置如下所示: 现在问题出在后端,我有不同的处理程序,可为用户通过表单中的select选项选择的不同类型的实体生成结果。 默认情况下,它可以很好地传递给后端中的处理程序。但是,我想要的是当一个人从脚本配置表单中的选择框中
问题内容: 我正在尝试做一个GET jQuery,我想发送一个参数。 这是我的功能: 这似乎行不通;使用时,我的servlet中没有空; 如果我在浏览器中输入链接http://www.myite.com/manageproducts.do?option=1,则该链接可以正常运行。 我也尝试过: 这也不起作用。 你能帮我么? 编辑: 也尝试过 仍然得到相同的结果。 问题答案: 如果您说它可以直接在浏
我有一个api URL:https://orderingspace.com/api/search Body parameter:lat:48.8834553 log:2.3399433 miles:6
问题内容: 我正在寻找一个窍门。我知道如何在JavaScript中调用动态的任意函数,并传递特定的参数,如下所示: 我知道如何使用内部的集合传递可选的,无限制的参数,但是,我不知道如何发送任意数量的参数以动态发送给它;我该如何完成这样的工作,但是要有任意数量的可选参数(不要使用丑陋的– )? 问题答案: 使用函数的apply方法:- 编辑 :在我看来,这将是一个稍微的调整会更有用: 这将在浏览器之
我正在尝试使用Chrome扩展Postman测试一个简单的PHP页面。当我发送URL参数时,脚本运行良好(例如变量在参数中可用)。当我将它们作为参数发送时,参数仅包含。 剧本: 我错过了什么?