Class: OmniAuth::Strategies::Josso::Agent
- Inherits:
-
Object
- Object
- OmniAuth::Strategies::Josso::Agent
- Defined in:
- lib/omniauth/strategies/josso.rb
Instance Method Summary collapse
- #identity_manager ⇒ Object
- #identity_provider ⇒ Object
-
#initialize(endpoint_url, josso_assertion_id) ⇒ Agent
constructor
A new instance of Agent.
- #roles ⇒ Object
- #session_id ⇒ Object
- #user ⇒ Object
Constructor Details
#initialize(endpoint_url, josso_assertion_id) ⇒ Agent
Returns a new instance of Agent.
42 43 44 45 |
# 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 |
Instance Method Details
#identity_manager ⇒ Object
47 48 49 |
# 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 ⇒ Object
51 52 53 |
# 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 ⇒ Object
69 70 71 72 73 74 |
# 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 ⇒ Object
55 56 57 58 59 60 |
# 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 ⇒ Object
62 63 64 65 66 67 |
# 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 |