Module: Saml::Provider

Extended by:
ActiveSupport::Concern
Included in:
Saml::ProviderStores::File::Provider
Defined in:
lib/saml/provider.rb

Instance Method Summary collapse

Instance Method Details

#artifact_resolution_service_url(index = nil) ⇒ Object



9
10
11
# File 'lib/saml/provider.rb', line 9

def artifact_resolution_service_url(index = nil)
  find_indexed_service(descriptor.artifact_resolution_services, index)
end

#assertion_consumer_service_url(index = nil) ⇒ Object



5
6
7
# File 'lib/saml/provider.rb', line 5

def assertion_consumer_service_url(index = nil)
  find_indexed_service(descriptor.assertion_consumer_services, index)
end

#authn_requests_signed?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/saml/provider.rb', line 50

def authn_requests_signed?
  descriptor.authn_requests_signed
end

#certificate(use = "signing") ⇒ Object



21
22
23
24
# File 'lib/saml/provider.rb', line 21

def certificate(use = "signing")
  key_descriptor = descriptor.key_descriptors.find { |key| key.use == use || key.use == "" }
  key_descriptor.certificate if key_descriptor
end

#entity_descriptorObject



13
14
15
# File 'lib/saml/provider.rb', line 13

def entity_descriptor
  @entity_descriptor
end

#entity_idObject



17
18
19
# File 'lib/saml/provider.rb', line 17

def entity_id
  entity_descriptor.entity_id
end

#private_keyObject



26
27
28
# File 'lib/saml/provider.rb', line 26

def private_key
  @private_key
end

#sign(signature_algorithm, data) ⇒ Object



30
31
32
# File 'lib/saml/provider.rb', line 30

def sign(signature_algorithm, data)
  private_key.sign(digest_method(signature_algorithm).new, data)
end

#single_logout_service_url(binding) ⇒ Object



38
39
40
# File 'lib/saml/provider.rb', line 38

def single_logout_service_url(binding)
  find_binding_service(descriptor.single_logout_services, binding)
end

#single_sign_on_service_url(binding) ⇒ Object



34
35
36
# File 'lib/saml/provider.rb', line 34

def single_sign_on_service_url(binding)
  find_binding_service(descriptor.single_sign_on_services, binding)
end

#typeObject



42
43
44
# File 'lib/saml/provider.rb', line 42

def type
  descriptor.is_a?(Saml::Elements::SPSSODescriptor) ? "service_provider" : "identity_provider"
end

#verify(signature_algorithm, signature, data) ⇒ Object



46
47
48
# File 'lib/saml/provider.rb', line 46

def verify(signature_algorithm, signature, data)
  certificate.public_key.verify(digest_method(signature_algorithm).new, signature, data) rescue nil
end