0

J'essaye de faire une API pour un projet. J'ai suivi les instructions de cette vidéo - https://www.youtube.com/watch?v=lgdUqtw4weg&t=165sComment configurer correctement l'authentification par jeton dans Rails?

Fondamentalement dans la vidéo, je fais une colonne de jeton pour le modèle d'utilisateur. Et configurer le contrôleur afin que je puisse utiliser une méthode post. Mais quand je lance le POST. je reçois l'erreur en disant

{"error":"You need to sign in or sign up before continuing."} 

Je pense que interfère avec Concevoir le POST et voit que l'utilisateur n'a pas connecté lorsque vous essayez de visiter non pages publiques.

Comment puis-je obtenir ceci et obtenir le jeton?

Voici mon contrôleur api.

class Api::V1::UserSerializedController < ApplicationController 
protect_from_forgery except: :index 
respond_to :json 


def create 


    user = User.where(email: params[:email]).first 

    if user.valid_password?(params[:encrypted_password]) 
     render json: user.as_json(only: [:email, :authentication_token]),status: :created 

    else 
     head(:unauthorized) 
    end 

end 

def show 

end 
end 

Répondre

0

Vous héritez ApplicationController et je devine que vous avez authenticate_user! avant l'action y mettre.

Il faudrait soit changer la classe parente à quelque chose comme ApiController (je préfère cela)

OU

sauter cette action pour votre Api::V1::UserSerializedController