我有一个带有设计,门卫和devise-doorkeeper的rails应用程序。
大多数都使用devise auth,但我想使用Client credential flow for doorkeeper为其他应用程序提供api。
我配置了门卫以获取client_credientials流,并成功设法获取令牌。但是,在查询此控制器时:
class InvestmentsController < ActionController::API
before_action :doorkeeper_authorize!
def show
business = BusinessObject.find_by(code: params[:code])
render json: business.to_json, status: :ok
end
end
使用不正确的令牌(401)正确地发送对此方法的查询失败,但是使用正确的有效令牌,我仍然有404,我的代码检索业务并将其放到json,但是在渲染期间,我有错误:
ActiveRecord :: RecordNotFound:找不到具有&#39; id&#39; =&gt;
的用户
请注意,如果我手动登录用户,我就不会有任何错误。我可以为client_credentials应用程序创建特定的用户,但这会破坏client_credentials的用途,该用户应该使用oauth_applications(带有id和秘密)而不是用户......