2012-03-10 9 views
1

私は、devise 'token_authenticatableヘルパーを使用して、システムに対してユーザーを認証したいと考えています。deviseでトークンを認証する方法

私はvalid_authentication_tokenという名前?(...)メソッドを使用している一部の古いドキュメンテーションが見つかりましたが、新しい工夫バージョンで同じことを見つけることができませんでした。

だから、ユーザーを認証する正しい方法は何ですか? 名前付きトークンを使用してユーザーにモデルを要求し、メールアドレスが一致するかどうかを確認する必要がありますか?

ありがとうございました。ユーザーActionRecordあなたに

t.token_authenticatable 

を追加して、あなたのUserモデル

devise :token_authenticatable 

を追加し、中にあなたのトークンの鍵となるのparam指定した場合

PascalTurbo

答えて

6

config/initializer/devise、次のようなもの:

01その後、
config.token_authentication_key = :auth_token 

認証するために

before_filter :authenticate_user! # Tell devise to use :user map 

を使用するコントローラ。 authenticate_user後!、個々の方法は、いずれかのログインセッションやHTTP基本認証を使用して、クエリ文字列に渡されたか、渡された工夫の認証トークンによってユーザーを承認します

user_signed_in? 

を使用してテストすることができます。詳細については、Deviseヘルパーcodeを参照してください。

+0

"load_and_authorize_resource"はdeviseの一部ですか?私はこれについてのドキュメントを見つけることができませんでした - しかし、 "cancan"のエントリがたくさんあります。 – PascalTurbo

+0

申し訳ありませんが、私のdeviseとcancanコールが混ざりました。我々は両方を使用します。私はbefore_filter authenticate_userで上記の私の答えを更新しました!デヴィスから。 –

+0

@SteveWilhelmあなたは「クエリ文字列に渡される認証トークンを作成しました...」と書いています。 POSTリクエストをJSON APIに送信すると、これをどうやって行うのかを教えてください。 – JJD

関連する問題