我需要一種方法,使用omniauth-saml從SP向IDP發送動態引數。要求是有兩個網站,網站1和網站2。網站1是由另一個團隊控制的,那里已經實作了saml。在我的網站上,我添加了一個按鈕,點擊它,我將發送一個請求給網站1。在發送請求的同時,我需要發送用戶引數,如姓名,電子郵件及一些自定義屬性。在我之前的stackoverflow帖子中,我能夠理解我需要利用omniauth-saml和一些基本細節。但是,我仍然無法發送動態屬性的問題。
當我瀏覽檔案時,我相信我需要使用
我需要使用
。 idp_sso_target_url_runtime_params => {:original_request_param => :mapped_idp_param},
但我不確定如何才能通過它來傳遞動態引數。在我之前的帖子中,一個人推薦我做一個猴子補丁,但它對我不起作用。有沒有人有什么建議
?Rails.application.config.middleware.use OmniAuth::Builder do
提供者:saml。
#:assertion_consumer_service_url => "consumer_service_url",
:issuer => "my_application"/span>。
:idp_sso_target_url => "target_url"。
:idp_sso_target_url_runtime_params => {:original_request_param => :mapped_idp_param },
:idp_cert => "-----BEGIN CERTIFICATE-----
...-----END CERTIFICATE-----",
:name_identifier_format => "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"。
end。
uj5u.com熱心網友回復:
你可以通過中間件配接器傳遞動態值。 比如:
app/service/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'/span>]}/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'/span>。
發行者: "發行者"。
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
end end
用上述配接器設定初始化器檔案
Rails.application.config.middleware.use OmniAuth::Builder do
提供者:saml。
:idp_settings_adapter => SamlIdpSettingAdapter
結束。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/307007.html
標籤:
上一篇:當ScrollView組件被react-native-pull-to-refresh包裝后,scrollviewref.current.scrollToEnd()無法作業。
