Module: Spid

Defined in:
lib/spid.rb,
lib/spid/slo.rb,
lib/spid/sso.rb,
lib/spid/rack.rb,
lib/spid/saml2.rb,
lib/spid/version.rb,
lib/spid/metadata.rb,
lib/spid/rack/slo.rb,
lib/spid/rack/sso.rb,
lib/spid/rack/login.rb,
lib/spid/rack/logout.rb,
lib/spid/saml2/utils.rb,
lib/spid/slo/request.rb,
lib/spid/sso/request.rb,
lib/spid/rack/session.rb,
lib/spid/slo/response.rb,
lib/spid/sso/response.rb,
lib/spid/configuration.rb,
lib/spid/rack/metadata.rb,
lib/spid/saml2/response.rb,
lib/spid/saml2/settings.rb,
lib/spid/slo/idp_request.rb,
lib/spid/saml2/saml_parser.rb,
lib/spid/saml2/sp_metadata.rb,
lib/spid/saml2/authn_request.rb,
lib/spid/saml2/xml_signature.rb,
lib/spid/saml2/logout_request.rb,
lib/spid/saml2/logout_response.rb,
lib/spid/saml2/service_provider.rb,
lib/spid/saml2/identity_provider.rb,
lib/spid/saml2/idp_logout_request.rb,
lib/spid/saml2/response_validator.rb,
lib/spid/synchronize_idp_metadata.rb,
lib/spid/identity_provider_manager.rb,
lib/spid/saml2/idp_logout_response.rb,
lib/spid/saml2/idp_metadata_parser.rb,
lib/spid/saml2/logout_response_validator.rb,
lib/spid/saml2/utils/query_params_signer.rb,
lib/spid/saml2/idp_logout_request_validator.rb

Overview

Only supports SAML 2.0

Defined Under Namespace

Modules: Saml2, Slo, Sso Classes: CertificateNotBelongsToPKeyError, Configuration, IdentityProviderManager, Metadata, MissingAttributeServicesError, PrivateKeyTooShortError, Rack, SynchronizeIdpMetadata, UnknownAttributeFieldError, UnknownAuthnComparisonMethodError, UnknownAuthnContextError, UnknownDigestMethodError, UnknownSignatureMethodError

Constant Summary collapse

EXACT_COMPARISON =
:exact
MINIMUM_COMPARISON =
:minimum
BETTER_COMPARISON =
:better
MAXIMUM_COMPARISON =
:maximum
BINDINGS_HTTP_POST =
"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
BINDINGS_HTTP_REDIRECT =
"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
COMPARISON_METHODS =
[
  EXACT_COMPARISON,
  MINIMUM_COMPARISON,
  BETTER_COMPARISON,
  MAXIMUM_COMPARISON
].freeze
SHA256 =
"http://www.w3.org/2001/04/xmlenc#sha256"
SHA384 =
"http://www.w3.org/2001/04/xmldsig-more#sha384"
SHA512 =
"http://www.w3.org/2001/04/xmlenc#sha512"
DIGEST_METHODS =
[
  SHA256,
  SHA384,
  SHA512
].freeze
RSA_SHA256 =
"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"
RSA_SHA384 =
"http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"
RSA_SHA512 =
"http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"
SIGNATURE_METHODS =
[
  RSA_SHA256,
  RSA_SHA384,
  RSA_SHA512
].freeze
SIGNATURE_ALGORITHMS =
{
  SHA256 => OpenSSL::Digest::SHA256.new,
  SHA384 => OpenSSL::Digest::SHA384.new,
  SHA512 => OpenSSL::Digest::SHA512.new,
  RSA_SHA256 => OpenSSL::Digest::SHA256.new,
  RSA_SHA384 => OpenSSL::Digest::SHA384.new,
  RSA_SHA512 => OpenSSL::Digest::SHA512.new
}.freeze
L1 =
"https://www.spid.gov.it/SpidL1"
L2 =
"https://www.spid.gov.it/SpidL2"
L3 =
"https://www.spid.gov.it/SpidL3"
AUTHN_CONTEXTS =
[
  L1,
  L2,
  L3
].freeze
SUCCESS_CODE =
"urn:oasis:names:tc:SAML:2.0:status:Success"
ATTRIBUTES_MAP =
{
  spid_code: "spidCode",
  name: "name",
  family_name: "familyName",
  place_of_birth: "placeOfBirth",
  date_of_birth: "dateOfBirth",
  gender: "gender",
  company_name: "companyName",
  registered_office: "registeredOffice",
  fiscal_number: "fiscalNumber",
  iva_code: "ivaCode",
  id_card: "idCard",
  mobile_phone: "mobilePhone",
  email: "email",
  address: "address",
  digital_address: "digitalAddress"
}.freeze
ATTRIBUTES =
ATTRIBUTES_MAP.keys.freeze
VERSION =
"0.19.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject



103
104
105
# File 'lib/spid.rb', line 103

def self.configuration
  @configuration ||= Configuration.new
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



111
112
113
# File 'lib/spid.rb', line 111

def self.configure
  yield configuration
end

.reset_configuration!Object



107
108
109
# File 'lib/spid.rb', line 107

def self.reset_configuration!
  @configuration = Configuration.new
end