resource_owner_id未被填充

时间:2013-11-22 18:20:11

标签: ruby-on-rails ruby oauth doorkeeper

我正在尝试使用门卫宝石来保护我的API。

我的代码如下所示:

初始化/ doorkeeper.rb

Doorkeeper.configure do
  resource_owner_authenticator do
    current_user || warden.authenticate!(:scope => :user)
  end

  default_scopes :public # if no scope was requested, this will be the default
  optional_scopes :admin, :write

  enable_application_owner :confirmation => false
end

以下是我用来连接API的命令:

RestClient.post 'http://localhost:3000/oauth/token', {
  grant_type: 'client_credentials',
  client_id: '26b8e5c92367d703ad35a2fc16b14dc93327a15798068ccba473aa2e3d897883',
  client_secret: 'b16079915cdc20b5373f1601e31cece5a84274f772cfd89aec12c90fd110775e'
}

......和......

RestClient.get 'http://localhost:3000/api/v1/videos', { 'Authorization' => 'Bearer <token_from_previous_request>' }

哪个工作正常,但我的问题是,返回的Token对象有一个空的resource_owner_id参数(在创建令牌时,这个列没有在DB中填充)。你知道我做错了什么吗?我一直在关注这些教程:

1 个答案:

答案 0 :(得分:2)

客户端凭据流“未与资源所有者关联”(https://github.com/applicake/doorkeeper/wiki/Client-Credentials-flow),因此我认为未设置resource_owner_id是正确的。