Sha256: facd45422eb91845b71ad198a317334b90645925cb79e3a484b0bf769ce7db0b

Contents?: true

Size: 1.09 KB

Versions: 104

Compression:

Stored size: 1.09 KB

Contents

module Comee
  module Core
    class AccessController < ApplicationController
      skip_before_action :authenticate, only: [:login]

      def login
        user = User.find_by(email: auth_params[:email])
        if user
          unless user.application_roles?(current_application)
            render(json: {error: "User does not have access to this application."}, status: 400) and return
          end

          roles = user.application_roles(current_application).map(&:code)
          if user.authenticate(auth_params[:password])
            payload = {
              id: user.id,
              name: user.name,
              email: user.email,
              roles: roles
            }
            jwt = TokenService.issue(payload)
            render json: {token: jwt, user: payload}
          else
            render json: {error: "Invalid password."}, status: 400
          end
        else
          render json: {error: "User does not exist."}, status: 400
        end
      end

      private

      def auth_params
        params.require(:auth).permit(:email, :password)
      end
    end
  end
end

Version data entries

104 entries across 104 versions & 1 rubygems

Version Path
comee_core-0.3.62 app/controllers/comee/core/access_controller.rb
comee_core-0.3.61 app/controllers/comee/core/access_controller.rb
comee_core-0.3.60 app/controllers/comee/core/access_controller.rb
comee_core-0.3.59 app/controllers/comee/core/access_controller.rb
comee_core-0.3.58 app/controllers/comee/core/access_controller.rb
comee_core-0.3.57 app/controllers/comee/core/access_controller.rb
comee_core-0.3.56 app/controllers/comee/core/access_controller.rb
comee_core-0.3.55 app/controllers/comee/core/access_controller.rb
comee_core-0.3.54 app/controllers/comee/core/access_controller.rb
comee_core-0.3.53 app/controllers/comee/core/access_controller.rb
comee_core-0.3.51 app/controllers/comee/core/access_controller.rb
comee_core-0.3.50 app/controllers/comee/core/access_controller.rb
comee_core-0.3.49 app/controllers/comee/core/access_controller.rb
comee_core-0.3.48 app/controllers/comee/core/access_controller.rb
comee_core-0.3.47 app/controllers/comee/core/access_controller.rb
comee_core-0.3.46 app/controllers/comee/core/access_controller.rb
comee_core-0.3.45 app/controllers/comee/core/access_controller.rb
comee_core-0.3.44 app/controllers/comee/core/access_controller.rb
comee_core-0.3.43 app/controllers/comee/core/access_controller.rb
comee_core-0.3.42 app/controllers/comee/core/access_controller.rb