Je suis nouveau dans les rails. J'essaie d'écrire une API pour une application mobile qui authentifie à l'aide de JSON. Je veux utiliser le congé pour l'authentification. Je crois que le concept> 1.3 ajoute un soutien pour JSON aussi, mais je ne peux pas trouver d'exemples ou de littérature à ce sujet. P>
Quelqu'un peut-il me signaler à toute ressource pour cela ou fournir un exemple de code? p>
merci! Satyam p>
3 Réponses :
Peut-être celui-ci> http://jessehowarth.com/ Devis ? P>
Je prévois de faire la même chose dans une semaine ou deux. P>
Pour le compte rendu, j'ai fini par avoir beaucoup de problèmes avec Devise + Json. Je recommande d'utiliser des rails 3.1 has_secure_password et d'ajouter vos propres fonctionnalités personnalisées.
Malédictions! Nous ne pouvons pas trouver cette page.
Lien réparé vers une archive Internet.
La solution de Jesse Howarth va casser la journalisation avec le navigateur lors de l'utilisation des réponses au format HTML. Si vous souhaitez effectuer à la fois JSON et HTML pour travailler, essayez de faire quelque chose comme ça: et n'oubliez pas de modifier vos itinéraires pour utiliser ce contrôleur P> P>
Comme je l'ai commenté ci-dessus, lancez le vôtre si vous utilisez des rails 3.1.0 ou une version ultérieure.
@Tombart, l'approche fonctionne bien pour une connexion correcte UID / PWD JSON. Comment gérer le cas d'un mot de passe incorrect? Userworden.authenticate! () Crocher simplement la redirection HTML avec un message d'erreur de texte brut.
Je n'ai pas pu arriver à la page liée dans la réponse supérieure, alors je pensais que je voudrais ajouter le mien. Vous n'avez pas besoin de créer des contrôleurs personnalisés. Tout ce que vous avez à faire est ce que vous devez faire est ce qui suit:
dans votre application.rb Ajoutez les éléments suivants dans votre classe d'applications p> dans config / initialiseurs / devise.rb Ajouter Après cela, vous pouvez envoyer un objet JSON à Signer_in.json ou quoi que ce soit Dans vos itinéraires pour la connexion. P> : JSON code> aux formats. Cette ligne est commentée par défaut de manière à ce que vous puissiez noter la ligne. P>
{"error":"Invalid email or password."}