gpt4 book ai didi

ruby-on-rails - authenticate_with_http_token 评估为 nil

转载 作者:行者123 更新时间:2023-12-05 04:16:29 24 4
gpt4 key购买 nike

我正在尝试创建一个非常基本的身份验证器,但不幸的是我得到的返回为零,导致我的路由到 401,因为它未经授权。

[20] pry(#<API::UsersController>)> 
ActionController::HttpAuthentication::Token::ControllerMethods.authenticate_with_http_token
NoMethodError: undefined method `authenticate_with_http_token' for
ActionController::HttpAuthentication::Token::ControllerMethods:Module

[22] pry(#<API::UsersController>)> cd
ActionController::HttpAuthentication::Token::ControllerMethods

[23] pry(#<Module>):1> ls
ActionController::HttpAuthentication::Token::ControllerMethods#methods:
authenticate_or_request_with_http_token authenticate_with_http_token
request_http_token_authentication
locals: _ __ _dir_ _ex_ _file_ _in_ _out_ _pry_

[24] pry(#<Module>):1>

代码:

protected
def authenticate
authenticate_token || render_unauthorized
end

def authenticate_token
binding.pry
authenticate_with_http_token do |token, options|
User.find_by(auth_token: token)
end
end

def render_unauthorized
self.headers['WWW-Authenticate'] = 'Token realm="Application"'
render json: 'Bad credentials', status: 401
end

最佳答案

似乎您的 API::UsersController(或者您的 ApplicationController)需要:

include ActionController::HttpAuthentication::Token::ControllerMethods

关于ruby-on-rails - authenticate_with_http_token 评估为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27392039/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com