Class: Saml::Kit::AuthenticationRequest

Inherits:
Document
  • Object
show all
Includes:
Requestable
Defined in:
lib/saml/kit/authentication_request.rb

Constant Summary collapse

Builder =
ActiveSupport::Deprecation::DeprecatedConstantProxy.new('Saml::Kit::AuthenticationRequest::Builder', 'Saml::Kit::Builders::AuthenticationRequest')

Constants inherited from Document

Document::PROTOCOL_XSD

Instance Attribute Summary

Attributes inherited from Document

#content, #name

Instance Method Summary collapse

Methods included from Requestable

#query_string_parameter

Methods inherited from Document

builder_class, #destination, #expected_type?, #id, #issue_instant, #issuer, #to_h, #to_s, to_saml_document, #to_xhtml, #to_xml, #version

Methods included from Trustable

#certificate, #fingerprint, #provider, #signature_verified!, #signed?, #trusted?

Methods included from XsdValidatable

#error_message, #matches_xsd?

Constructor Details

#initialize(xml) ⇒ AuthenticationRequest

Returns a new instance of AuthenticationRequest.



6
7
8
# File 'lib/saml/kit/authentication_request.rb', line 6

def initialize(xml)
  super(xml, name: "AuthnRequest")
end

Instance Method Details

#assertion_consumer_service_url ⇒ Object



10
11
12
# File 'lib/saml/kit/authentication_request.rb', line 10

def assertion_consumer_service_url
  to_h[name]['AssertionConsumerServiceURL']
end

#name_id_format ⇒ Object



14
15
16
# File 'lib/saml/kit/authentication_request.rb', line 14

def name_id_format
  to_h[name]['NameIDPolicy']['Format']
end

#response_for(user, binding:, relay_state: nil) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/saml/kit/authentication_request.rb', line 18

def response_for(user, binding:, relay_state: nil)
  response_binding = provider.assertion_consumer_service_for(binding: binding)
  builder = Saml::Kit::Response.builder(user, self) do |x|
    x.sign = provider.want_assertions_signed
    yield x if block_given?
  end
  response_binding.serialize(builder, relay_state: relay_state)
end