我目前在我的导轨应用程序中配置了Devise,Doorkeeper和葡萄。 Devise和Doorkeeper被配置为可以在网站上注册并使用Devise登录,Doorkeeper提供可创建令牌的oAuth端点。验证葡萄API与门卫
如何添加令牌到HttpRequest并使用它保护葡萄API?
编辑: 所以我试图实现汤姆赫特建议的Winebouncer实现。 我按照指示https://github.com/antek-drzewiecki/wine_bouncer
我已经安装了宝石。 我已经定义了config/initializers/wine_bouncer.rb,如下所示。
WineBouncer.configure do |config|
config.auth_strategy = :default
config.define_resource_owner do
User.find(doorkeeper_access_token.resource_owner_id) if doorkeeper_access_token
end
end
我已经在我的base api控制器中注册过Winebouncer作为中间件。 应用\控制器\ API \ base.rb
module API
class Base < Grape::API
mount API::V1::Base
use ::WineBouncer::OAuth2
end
end
我安装我的项目控制器在我V1基本控制器 应用\控制器\ API \ V1 \ base.rb
module API
module V1
class Base < Grape::API
mount API::V1::Projects
end
end
end
这是我projectscontroller 应用程序\控制器\ API \ V1 \ projects.rb
module API
module V1
class Projects < Grape::API
version 'v1'
format :json
resource :projects do
desc "Return list of projects" , auth: { scopes: [] }
get do
Project.all
end
end
end
end
end
说实话,我还不知道怎么样了 “AUTH:{范围:[]}” 中的说明ription是suppossed工作。以及如何将令牌添加到请求中,但我希望我的请求被阻止,但在未添加令牌时会被阻止。但该请求仍在生成json数据。
我在看winebouncer,但我想我有一个错误的HttpRequest格式。我一直收到错误500.你知道正确的格式吗? – 2014-10-21 20:10:31
@SanderObdeijn你能提供更多的信息吗?像实施的一些部分和你得到的确切的错误? – 2014-10-21 20:22:59
我无法使wine_bouncer正常工作。但葡萄门卫很好。 – 2014-11-15 18:54:48