无法使用设备门卫使用client_credentials流设置控制器进行身份验证

时间:2017-10-16 16:37:36

标签: devise ruby-on-rails-5 doorkeeper

我有一个带有设计,门卫和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和秘密)而不是用户......

0 个答案:

没有答案