0

開発中の Web アプリ用の API を構築しています。API 認証/ログインに使用しようとしている次のコードは、承認時に false を返します。

私のAPIユーザーコントローラーには次のものがあります:

def login
  if params[:user]
    # Find the user by email first
    @user = User.where(email: params[:user][:email]).first
    if !@user
      respond_with nil
    else
      @auth = @user.authenticate(params[:user][:password])
      if @auth
        respond_with @user
      else
        respond_with @auth
      end
    end
  end
end

有効な電子メールとパスワードが提供されている場合でも、常に @auth で応答していますが、これは false です。Mongo データベースからユーザー情報を取得するのに問題はありません。

私は .authenticate が何をするのかはっきりしていないと思います。私が見た railscast.com ビデオによると、ユーザーのパスワード ダイジェストと入力されたパスワードを比較する必要があります。ユーザーに有効なパスワードが提供されている場合、@auth は常に false です。

4

1 に答える 1

0

このメソッドは実際にはうまく機能していましたが、データベース内のテスト データは、私が思っていたものではありませんでした..

于 2012-06-21T18:57:01.977 に答える