Module: IntercomApp::SessionsConcern

Extended by:
ActiveSupport::Concern
Included in:
SessionsController
Defined in:
lib/intercom-app/sessions_concern.rb

Instance Method Summary collapse

Instance Method Details

#callbackObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/intercom-app/sessions_concern.rb', line 13

def callback
  if response = request.env['omniauth.auth']
    app = {
      intercom_token: response['credentials']['token'],
      intercom_app_id: response['extra']['raw_info']['app']['id_code'],
      name: response['extra']['raw_info']['name'],
      email: response['extra']['raw_info']['email']
    }
    app = app.merge(callback_hash.call(session, response)) if callback_hash
    session[:intercom] = IntercomApp::SessionRepository.store(app)
    session[:intercom_app_id] = app[:intercom_app_id]
    IntercomApp::WebhooksManager.new(intercom_token: app[:intercom_token]).create_webhooks_subscriptions if IntercomApp.configuration.webhooks.present?
    redirect_to return_address unless IntercomApp.configuration.oauth_modal
  else
    redirect_to 
  end
end

#destroyObject



31
32
33
34
35
36
# File 'lib/intercom-app/sessions_concern.rb', line 31

def destroy
  session[:intercom] = nil
  session[:intercom_app_id] = nil
  session[:intercom_token] = nil
  redirect_to 
end

#loginObject



9
10
11
# File 'lib/intercom-app/sessions_concern.rb', line 9

def 
  .call(session, params) if 
end