6
votes

Utilisation de Devise 1.3 pour authentifier les demandes de connexion JSON

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.

Quelqu'un peut-il me signaler à toute ressource pour cela ou fournir un exemple de code?

merci! Satyam


0 commentaires

3 Réponses :


6
votes

Peut-être celui-ci> http://jessehowarth.com/ Devis ?

Je prévois de faire la même chose dans une semaine ou deux.


3 commentaires

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.



4
votes

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: xxx

et n'oubliez pas de modifier vos itinéraires pour utiliser ce contrôleur


2 commentaires

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.



7
votes

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> xxx pré>

dans config / initialiseurs / devise.rb Ajouter : JSON code> aux formats. Cette ligne est commentée par défaut de manière à ce que vous puissiez noter la ligne. P> xxx pré>

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>

{"error":"Invalid email or password."}


0 commentaires