我在使用 Doorkeeper::TokensController 时遇到了问题。
我想在请求访问令牌之前执行一些代码(如果它已创建与否,无论如何我都想记录它)使用before_action(默认路由是POST /oauth/token/ Doorkeeper::TokensController#create。
我通过执行以下操作来遵循此处的文档:
配置/路由.rb
use_doorkeeper do
controllers tokens: 'oauth/access_tokens'
end
Run Code Online (Sandbox Code Playgroud)
应用程序/控制器/access_tokens_controller.rb
class Oauth::AccessTokensController < Doorkeeper::TokensController
before_action :log_auth, only: [:create]
def log_auth
puts "I want to log here"
end
end
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时POST /oauth/token,我收到以下错误消息:
ActionController::RoutingError(Oauth::AccessTokensController:Class 的未定义方法“before_action”):
app/controllers/oauth/access_tokens_controller.rb:2:in 'class:AccessTokensController'
app/controllers/oauth/access_tokens_controller.rb:1:in '顶部(必填)'
我究竟做错了什么?有没有办法触发 abefore_action或等效项Doorkeeper::TokensController?