Sha256: 4608ef33ca04ed85d21034f6bdfec09a1cca4273b326b00c5ac39671e41a3ad2

Contents?: true

Size: 772 Bytes

Versions: 1

Compression:

Stored size: 772 Bytes

Contents

module Raddar
  class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
    def facebook
      complete('facebook')
    end

    def twitter
      complete('twitter')
    end

    private

    def complete(provider)
      @user = OmniauthCompletion.complete(request.env['omniauth.auth'], current_user)

      if @user.persisted?
        if user_signed_in?
          redirect_to user_external_accounts_path
        else
          sign_in_and_redirect @user, event: :authentication
        end

        set_flash_message(:notice, :success, kind: provider.titleize) if is_navigational_format?
      else
        session["devise.#{provider}_data"] = request.env['omniauth.auth']
        redirect_to new_user_registration_url
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
raddar-0.0.1.pre app/controllers/raddar/users/omniauth_callbacks_controller.rb