繁体   English   中英

Rails设计了简单的身份验证令牌,以获得403禁止

[英]rails devise simple authentication token getting 403 forbbiden

我正在使用Rails 4.2.6和ruby 2.1.1p76。

我正在将dev_phone_number作为主要标识符使用devise。

我正在尝试创建用于登录的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 = 'null@null.com'
        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

我发送的消息

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

希望对您有所帮助。

最好的记录,莎伦·达汉

登录API的CURL示例

curl -v http:// xyz / users / sign_in -X POST -H“ Accept:application / json” -H“ Content-Type:application / json” -d'{“ user”:{“ login”:“ 7838712847 “,” password“:” 8489“}}'

此卷曲应返回具有身份验证令牌的用户对象。 现在,登录后,该身份验证令牌用户将用于与我们的应用程序进行通信

因此,登录后,您需要在每个请求标头中发送用户的身份验证令牌

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM