module Maestrano::SSO
Public Class Methods
build_request(get_params = {})
click to toggle source
Build a new SAML Request
# File lib/maestrano/sso.rb, line 19 def self.build_request(get_params = {}) Maestrano::Saml::Request[preset].new(get_params) end
build_response(saml_post_param)
click to toggle source
Build a new SAML response
# File lib/maestrano/sso.rb, line 24 def self.build_response(saml_post_param) Maestrano::Saml::Response[preset].new(saml_post_param) end
clear_session(session)
click to toggle source
Destroy the maestrano session in http session
# File lib/maestrano/sso.rb, line 79 def self.clear_session(session) session.delete(:maestrano) session.delete('maestrano') end
Also aliased as: unset_session
consume_url()
click to toggle source
# File lib/maestrano/sso.rb, line 38 def self.consume_url host = Maestrano[preset].param('sso.idm') path = Maestrano[preset].param('sso.consume_path') return "#{host}#{path}" end
enabled?()
click to toggle source
# File lib/maestrano/sso.rb, line 28 def self.enabled? !!Maestrano[preset].param('sso.enabled') end
idp_url()
click to toggle source
# File lib/maestrano/sso.rb, line 57 def self.idp_url host = Maestrano[preset].param('api.host') api_base = Maestrano[preset].param('api.base') endpoint = 'auth/saml' return "#{host}#{api_base}#{endpoint}" end
init_url()
click to toggle source
# File lib/maestrano/sso.rb, line 32 def self.init_url host = Maestrano[preset].param('sso.idm') path = Maestrano[preset].param('sso.init_path') return "#{host}#{path}" end
logout_url(user_uid = nil)
click to toggle source
# File lib/maestrano/sso.rb, line 44 def self.logout_url(user_uid = nil) host = Maestrano[preset].param('api.host') path = '/app_logout' path = "#{path}?user_uid=#{user_uid}" if user_uid return "#{host}#{path}" end
saml_settings()
click to toggle source
Return the saml_settings
based on Maestrano
configuration
# File lib/maestrano/sso.rb, line 7 def self.saml_settings settings = Maestrano::Saml::Settings.new settings.assertion_consumer_service_url = self.consume_url settings.issuer = Maestrano[preset].param('api.id') settings.idp_sso_target_url = self.idp_url settings.idp_cert = Maestrano[preset].param('sso.x509_certificate') settings.idp_cert_fingerprint = Maestrano[preset].param('sso.x509_fingerprint') settings.name_identifier_format = Maestrano[preset].param('sso.name_id_format') settings end
session_check_url(user_uid, sso_session)
click to toggle source
# File lib/maestrano/sso.rb, line 64 def self.session_check_url(user_uid, sso_session) host = Maestrano[preset].param('api.host') api_base = Maestrano[preset].param('api.base') endpoint = 'auth/saml' return URI.escape("#{host}#{api_base}#{endpoint}/#{user_uid}?session=#{sso_session}") end
set_session(session, auth)
click to toggle source
Set maestrano attributes in session Takes the BaseUser
hash representation and current session in arguments
# File lib/maestrano/sso.rb, line 74 def self.set_session(session, auth) Maestrano::SSO::Session[preset].from_user_auth_hash(session,auth).save end