class OmniAuth::Strategies::Josso::Agent

Public Class Methods

new(endpoint_url, josso_assertion_id) click to toggle source
# File lib/omniauth/strategies/josso.rb, line 42
def initialize(endpoint_url, josso_assertion_id)
  @endpoint_url = endpoint_url
  @josso_assertion_id = josso_assertion_id
end

Public Instance Methods

identity_manager() click to toggle source
# File lib/omniauth/strategies/josso.rb, line 47
def identity_manager
  @identity_manager ||= Savon.client wsdl: "#{@endpoint_url}/josso/services/SSOIdentityManager?wsdl", soap_version: 1, ssl_verify_mode: :none
end
identity_provider() click to toggle source
# File lib/omniauth/strategies/josso.rb, line 51
def identity_provider
  @identity_provider ||= Savon.client wsdl: "#{@endpoint_url}/josso/services/SSOIdentityProvider?wsdl", soap_version: 1, ssl_verify_mode: :none
end
roles() click to toggle source
# File lib/omniauth/strategies/josso.rb, line 69
def roles
  @roles ||= begin
    res = identity_manager.call :find_roles_by_username, message: { 'in0' => user.first[:name] }
    res.to_hash[:multi_ref].map { |h| h[:name] }
  end
end
session_id() click to toggle source
# File lib/omniauth/strategies/josso.rb, line 55
def session_id
  @session_id ||= begin
    res = identity_provider.call :resolve_authentication_assertion, message: { 'in0' => @josso_assertion_id }
    res.to_hash[:resolve_authentication_assertion_response][:resolve_authentication_assertion_return]
  end
end
user() click to toggle source
# File lib/omniauth/strategies/josso.rb, line 62
def user
  @user ||= begin
    res = identity_manager.call :find_user_in_session, message: { 'in0' => session_id }
    res.to_hash[:multi_ref]
  end
end