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