Class: OmniAuth::Strategies::Authentiq::BackChannelLogoutRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/omniauth/strategies/oidc/back_channel_logout_request.rb

Instance Method Summary collapse

Constructor Details

#initialize(strategy, request) ⇒ BackChannelLogoutRequest

Returns a new instance of BackChannelLogoutRequest.



6
7
8
# File 'lib/omniauth/strategies/oidc/back_channel_logout_request.rb', line 6

def initialize(strategy, request)
  @strategy, @request = strategy, request
end

Instance Method Details

#call(options = {}) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/omniauth/strategies/oidc/back_channel_logout_request.rb', line 10

def call(options = {})
  @options = options

  begin
    # for sign_out_callback.call(*back_channel_logout_request) to execute
    # a proc must be set in the devise.rb initializer of the rails app
    result = sign_out_callback.call(*back_channel_logout_request)
  rescue StandardError => err
    result = back_channel_logout_response(400, [err.to_s])
  else
    if result
      result = back_channel_logout_response(200, ['Logout succeeded'])
    else
      result = back_channel_logout_response(501, ['Authentiq session does not exist'])
    end
  ensure
    return unless result
    return result.finish
  end
end