2016-06-14 17 views
0

私はruby 2.1.1p76でrails 4.2.6を使用しています。rails devise単純な認証トークンを取得する403 forbbiden

私は電話番号を主識別子として使用しています。

私はログイン用のAPIサービスを作成しようとしていますが、私はいつも403エラーを禁止しています。

class Api::V1::SessionsController < Devise::SessionsController 
    #skip_before_filter :verify_authenticity_token 
    acts_as_token_authentication_handler_for User 
    respond_to :json 


    def create 
    #user = User.find_by phone_number: params['user']['phone_number'] 
    warden.authenticate!(:scope => resource_name, :recall => "#{controller_path}#failure") 
    if(current_user != nil) 

     #current_user.authentication_token = generateToken 
      render :status => 200, 
       :json => { :code => 200, 
           :data => {:user => current_user} } 
    else 
     @new_user = User.new(user_params) 
     @new_user.email = '[email protected]' 
     if @new_user.save! 
      render :status => 201, 
        :json => { :code => 201, 
           :data => {:user => @new_user} } 
     else 
      render :status => 500, 
        :json => { :code => 500, 
           :data => {} } 
     end 
    end 

    end 


    def failure 
    render :status => 403, 
      :json => { :code => 200, 
         :data => {} } 
    end 

    def user_params 
    params.require(:user).permit(:email,:password,:phone_number) 
    end 
end 

私はU RのHELP FOR

{"user":{"phone_number":"0535934245","authentication_token":"2zfaWT2QySFigyE9XvsP"}} 

HOPEを送るメッセージ。

よろしく、 SHARON漢

LOGINのAPI

カール-v http://xyz/users/sign_in -X POST -H "同意する:アプリケーション/ JSON" FOR

答えて

0

CURL例-H「のContent-Type:アプリケーション/ JSON "-d '{" user ":{" login ":" 7838712847 "、" password ":" 8489 "}}'

このcurlは認証トークンを持つユーザーオブジェクトを返す必要があります。今すぐログインした後に、この認証トークンのユーザが彼を作成するために存在していない場合は私の願いがあるので、ログインした後、あなたが

+0

すべてのリクエストのヘッダーにユーザーの認証トークンを送信する必要が我々のアプリケーション

との通信に使用すると、彼がちょうどログインしている場合 – user1042941

+0

遅く応答して申し訳ありませんが、コントローラレベルで条件付きで解決する必要があります。 –

関連する問題