Sha256: 46875ca69e3dfa91c87643dc31e40069968d1d9ad2745a37edb437607e65066d

Contents?: true

Size: 944 Bytes

Versions: 10

Compression:

Stored size: 944 Bytes

Contents

module InfinumId
  module Resources
    class OmniauthCallbacksController < Devise::OmniauthCallbacksController
      def infinum_id
        resource = InfinumId::Resources::Finder.from_omniauth(omniauth)

        if resource
          InfinumId::Resources::Updater.call(omniauth['info'], resource)
          flash[:notice] = I18n.t 'devise.omniauth_callbacks.success', kind: 'InfinumId'
          sign_in_and_redirect resource, event: :authentication
        else
          flash[:notice] = 'You do not have permission to access this application.'
          redirect_to root_path
        end
      end

      def failure
        set_flash_message! :alert, :failure, kind: OmniAuth::Utils.camelize(failed_strategy.name),
                                             reason: failure_message
        redirect_to root_path
      end

      private

      def omniauth
        @omniauth ||= request.env['omniauth.auth']
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
infinum_id-2.2.0 app/controllers/infinum_id/resources/omniauth_callbacks_controller.rb
infinum_id-2.1.0 app/controllers/infinum_id/resources/omniauth_callbacks_controller.rb
infinum_id-2.0.1 app/controllers/infinum_id/resources/omniauth_callbacks_controller.rb
infinum_id-2.0.0 app/controllers/infinum_id/resources/omniauth_callbacks_controller.rb
infinum_id-1.6.0 app/controllers/infinum_id/resources/omniauth_callbacks_controller.rb
infinum_id-1.5.1 app/controllers/infinum_id/resources/omniauth_callbacks_controller.rb
infinum_id-1.5.0 app/controllers/infinum_id/resources/omniauth_callbacks_controller.rb
infinum_id-1.4.2 app/controllers/infinum_id/resources/omniauth_callbacks_controller.rb
infinum_id-1.4.1 app/controllers/infinum_id/resources/omniauth_callbacks_controller.rb
infinum_id-1.4.0 app/controllers/infinum_id/resources/omniauth_callbacks_controller.rb