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
すべてのリクエストのヘッダーにユーザーの認証トークンを送信する必要が我々のアプリケーション
との通信に使用すると、彼がちょうどログインしている場合 – user1042941
遅く応答して申し訳ありませんが、コントローラレベルで条件付きで解決する必要があります。 –