私は現在、通常のビジュアルWebアプリケーションgoopに加えて、外部アプリケーションで使用するためのいくつかのRESTful APIサービスを公開するアプリケーションで作業しています。私はDeviseを使ってユーザー認証を管理していますが、特定の入力を与えられたユーザーを「手動で」認証する方法には苦労しています。APIのレール認証
私が持っている場合は、実際に画面のビジュアルログに行くなどの方法で、APIのユーザーにログインさせる必要があるということです。ユーザー名とパスワードを送信してから、私のAPIサービス。
私は、Deviseが提供するsign_in
メソッドを使用する際にユーザーにサインすることができますが、それは認証を完全に無視するようです。ここで私がしたかったことはもう少し詳しく説明しました:
ユーザコントローラでconnectというGETルートがあるとします。コントローラーはDevise登録コントローラー全体を交換しますが、セッション1コントローラーは交換しません。私のサービスのURLは次のようになります。
<server>/users/connect
、それは私の質問の無神経な人に具体的かつ重要でないいくつかのサービスに加えて、「メール」、「パスワード」パラメータを期待します。 - それはそうでは一般化だ、私はこれを行うために考案ソース内の方法を見つけることができなかった
def connect
user = User.find_by_email(params[:email])
password = params[:password]
# here is the part I'm pseudo coding out
if user.is_valid_password(password)
...do my stuff...
end
render :json ...etc...
end
:私が知りたいのは何
は、次の擬似コードと等価であるものを実装する方法であります私はおそらくそれを逃している可能性が非常に多くの方法。
誰もが考えている?私はa)自分のことを実装しなければならず、b)Deviseから離れる必要がないことを望んでいる。それは非APIサービスのために私に多くを提供します...
ありがとう!
私は工夫のtoken_authenticatableは、このために行くための方法です
クール、私はこのアイデアを検討します。ありがとう:) – jaydel
これは現在、非難されています、誰もこれを新しい実装で構築する方法を知っていますか? – halbano
トークンベースのデバイス認証では、https://github.com/lynndylanhurley/devise_token_authを使用する必要があります。 – plunntic