Sha256: 076025fe29e01c59017142d5aa92560a9ad6725164eb1302ae9f961adc5f0fcc

Contents?: true

Size: 1.03 KB

Versions: 10

Compression:

Stored size: 1.03 KB

Contents

require 'active_support/concern'
require 'token_authenticate_me/concerns/controllers/sessionable'

module TokenAuthenticateMe
  module Concerns
    module Controllers
      module TokenSessionable
        extend ActiveSupport::Concern

        include Sessionable

        included do
          skip_before_action :authenticate, only: [:create]

          def create
            if authenticate_resource
              @session = create_session!(resource)
              render json: @session, status: 201
            else
              render json: { message: 'Bad credentials' }, status: 401
            end
          end

          def show
            @session = authenticated_session
            render json: @session
          end

          def destroy
            unauthenticate_resource

            render status: 204, nothing: true
          rescue
            render_unauthorized
          end

          protected

          def session_params
            params.permit(:username, :password)
          end
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
token_authenticate_me-0.9.2 lib/token_authenticate_me/concerns/controllers/token_sessionable.rb
token_authenticate_me-0.9.1 lib/token_authenticate_me/concerns/controllers/token_sessionable.rb
token_authenticate_me-0.9.0 lib/token_authenticate_me/concerns/controllers/token_sessionable.rb
token_authenticate_me-0.8.0 lib/token_authenticate_me/concerns/controllers/token_sessionable.rb
token_authenticate_me-0.7.0 lib/token_authenticate_me/concerns/controllers/token_sessionable.rb
token_authenticate_me-0.6.0 lib/token_authenticate_me/concerns/controllers/token_sessionable.rb
token_authenticate_me-0.5.7 lib/token_authenticate_me/concerns/controllers/token_sessionable.rb
token_authenticate_me-0.5.6 lib/token_authenticate_me/concerns/controllers/token_sessionable.rb
token_authenticate_me-0.5.5 lib/token_authenticate_me/concerns/controllers/token_sessionable.rb
token_authenticate_me-0.5.4 lib/token_authenticate_me/concerns/controllers/token_sessionable.rb