À l'aide de Concevoir des jetons pour vous connecter, est construit dans cette?
Donc, je suis en train d'utiliser des jetons à Concevoir (version 1.0.3 avec Rails 2.3.8) pour permettre à un utilisateur d'ouvrir une session, mais je ne suis pas vraiment sûr où commencer.
http://zyphdesignco.com/blog/simple-auth-token-example-with-devise
Le tutoriel ci-dessus m'a aidé à tourner sur le jeton de la fonctionnalité, et a montré comment générer (ou supprimer) des jetons...mais le POINT de l'ensemble des jetons est de les utiliser pour autoriser un utilisateur, correct?
Quand je regarde un utilisateur dans la console, je peux dire de l'utilisateur.authentication_token, et obtenir quelque chose comme: "Qm1ne93n_XkgmQTvxDmm", qui est très bien...mais où dois-je aller à partir de là?
J'ai essayé de frapper le sign_in de la racine à l'aide de la commande suivante en ligne de commande:
curl-d "authentication_token=Qm1ne93n_XkgmQTvxDmm" localhost:3000/utilisateurs/sign_in
Et n'a certainement pas réussir à vous connecter.
Dans les séances de contrôleur, je vois qu'ils appellent:
authentifier(resource_name)
Qui je suppose est quelque part dans le module:
inclure Concevoir::Contrôleurs::InternalHelpers
qui est inclus, mais je ne sais pas où chercher pour que (ce n'est certainement pas dans la source du contrôleur de dossier). Si je pouvais regarder comment authentifier les œuvres, je pourrais voir si il la REGARDE même des jetons...
N'a Concevoir laissez vous fait une session avec des jetons, ou est-il juste un cadre pour les générer? Si elle ne vous permettent de connecter avec eux...COMMENT faites-vous cela? Pouvez-vous pas utiliser de boucle (c'est à dire, il faut être dans un navigateur? Si oui, je serais hafta rouler ma propre solution, j'ai BESOIN de la non-prise en charge du navigateur.). Si ça ne marche pas, comment puis-je roule mes propres?
Vous devez vous connecter pour publier un commentaire.
Ma compréhension est que vous pouvez utiliser les jetons de vous connecter ou de frapper arbitraire pages qui ont besoin d'authentification, même avec cURL. Si vous regardez dans
config/initializers/devise.rb
, il devrait y avoir une ligne qui dit quelque chose comme:Quel que soit le nom de la
token_authentication_key
est doit correspondre à ce que vous mettez comme la requête ou un paramètre de formulaire dans votre demande. Vous avez utiliséauthentication_token
dans votre exemple, vous ne savez pas si vous avez changé de concevoir.rb corresponde ou non.Si vous voulez comprendre comment les choses fonctionnent en interne, je voudrais essayer de
git clone git://github.com/plataformatec/devise.git
et de recherche pour les méthodes que vous avez besoin de précisions, de.Voici quelques exemples de cURL demandes (j'ai fait une coutume les Utilisateurs: SessionsController qui s'étend Concevoir::SessionsController et remplace la méthode de création de manipuler du JSON.)
Et puis la boucle demandes que j'ai donné:
voir cet article: http://www.hyperionreactor.net/blog/token-based-authentication-rails-3-and-rails-2
Fondamentalement tout ce que vous avez besoin est d'ajouter le jeton à vos demandes et vous êtes automatiquement authentifié, c'est à dire
localhost:3000/posts.xml?auth_token=the_token
C'était un bon point de départ pour moi:
Migration pour ajouter
authentication_token
:Et puis dans le contrôleur de l'application:
Et puis la construction de liens est juste
sources:
ce gist liés à partir de concevoir le wiki, & ce tutoriel (mentionné ci-dessus)