Sha256: f858e99ceb0caf5851edb45654f8ad9a1836b80c44e803354aa77b74ba9d35b9

Contents?: true

Size: 774 Bytes

Versions: 4

Compression:

Stored size: 774 Bytes

Contents

module Saml
  module Kit
    module Bindings
      class HttpPost < Binding
        include Serializable

        def initialize(location:)
          super(binding: Saml::Kit::Bindings::HTTP_POST, location: location)
        end

        def serialize(builder, relay_state: nil)
          builder.destination = location
          document = builder.build
          saml_params = {
            document.query_string_parameter => Base64.strict_encode64(document.to_xml),
          }
          saml_params['RelayState'] = relay_state if relay_state.present?
          [location, saml_params]
        end

        def deserialize(params)
          xml = decode(saml_param_from(params))
          Saml::Kit::Document.to_saml_document(xml)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
saml-kit-0.2.5 lib/saml/kit/bindings/http_post.rb
saml-kit-0.2.4 lib/saml/kit/bindings/http_post.rb
saml-kit-0.2.3 lib/saml/kit/bindings/http_post.rb
saml-kit-0.2.2 lib/saml/kit/bindings/http_post.rb