Sha256: 69982ee37255d8e90ea7a70a62ba010c375dd2d957b66e4ad9a3f422bee73742

Contents?: true

Size: 1.35 KB

Versions: 22

Compression:

Stored size: 1.35 KB

Contents

module Overrides
  class SessionsController < DeviseTokenAuth::SessionsController
    OVERRIDE_PROOF = "(^^,)"

    def create
      @resource = resource_class.find_by_email(resource_params[:email])

      if @resource and valid_params?(:email, resource_params[:email]) and @resource.valid_password?(resource_params[:password]) and @resource.confirmed?
        # create client id
        @client_id = SecureRandom.urlsafe_base64(nil, false)
        @token     = SecureRandom.urlsafe_base64(nil, false)

        @resource.tokens[@client_id] = {
          token: BCrypt::Password.create(@token),
          expiry: (Time.now + DeviseTokenAuth.token_lifespan).to_i
        }
        @resource.save

        render json: {
          data: @resource.as_json(except: [
            :tokens, :created_at, :updated_at
          ]),
          override_proof: OVERRIDE_PROOF
        }

      elsif @resource and not @resource.confirmed?
        render json: {
          success: false,
          errors: [
            "A confirmation email was sent to your account at #{@resource.email}. "+
            "You must follow the instructions in the email before your account "+
            "can be activated"
          ]
        }, status: 401

      else
        render json: {
          errors: ["Invalid login credentials. Please try again."]
        }, status: 401
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
devise_token_auth-0.1.40 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.39 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.38 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.37 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.37.beta4 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.37.beta3 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.37.beta2 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.37.beta1 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.36 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.35 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.34 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.33 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.32 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.32.beta10 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.32.beta9 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.32.beta8 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.32.beta7 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.32.beta6 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.32.beta5 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_token_auth-0.1.32.beta4 test/dummy/app/controllers/overrides/sessions_controller.rb