【问题标题】:How to set up Token Authentication properly in Rails?如何在 Rails 中正确设置令牌身份验证?
【发布时间】:2017-09-06 09:55:17
【问题描述】:

我正在尝试为一个项目制作 API。我按照该视频中的说明进行操作 - https://www.youtube.com/watch?v=lgdUqtw4weg&t=165s

基本上在视频中,我为用户模型制作了一个令牌列。并设置控制器,以便我可以使用 post 方法。 但是当我运行 POST 时。 我收到错误提示

{"error":"You need to sign in or sign up before continuing."}

我认为 Devise 正在干扰 POST,并且在尝试访问非公共页面时发现用户尚未登录。

我如何通过这个并获得令牌?

这是我的 api 控制器。

class Api::V1::UserSerializedController < ApplicationController
protect_from_forgery except: :index
respond_to :json


def create 


    user = User.where(email: params[:email]).first

    if user.valid_password?(params[:encrypted_password])
        render json: user.as_json(only: [:email, :authentication_token]),status: :created

    else 
        head(:unauthorized)
    end

end 

def show

end
end

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 devise http-token-authentication


    【解决方案1】:

    您正在继承ApplicationController,我猜您在设置操作之前有authenticate_user!

    您必须将父类更改为 ApiController 之类的东西(我更喜欢这个)

    为您的Api::V1::UserSerializedController跳过此操作

    【讨论】:

      猜你喜欢
      • 2021-12-17
      • 1970-01-01
      • 2012-12-23
      • 1970-01-01
      • 1970-01-01
      • 2015-02-11
      • 2017-10-30
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多