Login works locally but not working on heroku

1

I’m using rails JWT for login for backend. The user is verified with login information and returns the token perfectly when it’s ran locally but on Heroku it’s returning “Invalid username or password”.

On heroku logs --tail it receives the login params fine but somehow it shows this User Load (2.6ms) SELECT "users".* FR OM "users" WHERE "users"."username" IS NULL LIMIT $1

Somehow the user is returning NULL on heroku logs.

I’m not done building the app so please don’t mind the extra codes I have.

Thanks for the help!

Here’s my users_controller


  def index
    render json: User.all
  end

    # REGISTER
    def create
      @user = User.create(user_params)
      if @user.valid?
        token = encode_token({user_id: @user.id})
        render json: {user: @user, token: token}
      else
        render json: {error: "Invalid username or password"}
      end
    end

    # LOGGING IN
    def login
      @user = User.find_by(username: params[:username])

      if @user && @user.authenticate(params[:password])
        token = encode_token({user_id: @user.id})
        render json: {user: @user, token: token, error: false}, status: :accepted
      else
        render json: {error: "Invalid username or password", error: true}, status: :unauthorized
      end
    end


    # def auto_login
    #   render json: @user
    # end

    private

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

end


**application controller** 


 before_action :authorized, only: [:create]

def encode_token(payload)
  JWT.encode(payload, 's3cr3t')
end

def auth_header
  # { Authorization: 'Bearer <token>' }
  request.headers['Authorization']
end

def decoded_token
  if auth_header
    token = auth_header.split(' ')[1]
    # header: { 'Authorization': 'Bearer <token>' }
    begin
      JWT.decode(token, 's3cr3t', true, algorithm: 'HS256')
    rescue JWT::DecodeError
      nil
    end
  end
end

def logged_in_user
  if decoded_token
    user_id = decoded_token[0]['user_id']
    @user = User.find_by(id: user_id)
  end
end

def logged_in?
  !!logged_in_user
end

def authorized
  render json: { message: 'Please log in' }, status: :unauthorized unless logged_in?
end

 end