Grape

Grape integration

Doorkeeper provides helpers for the Grape framework >= 0.10. One of them is doorkeeper_authorize! that can be used in a similar way as an example above to protect your API with OAuth. Note that you have to use require 'doorkeeper/grape/helpers' and helpers Doorkeeper::Grape::Helpers in your Grape API class.

require 'doorkeeper/grape/helpers'
module API
module V1
class Users < Grape::API
helpers Doorkeeper::Grape::Helpers
before do
doorkeeper_authorize!
end
# For old versions of Grape:
# route_setting :scopes, ['user:email']
#
get :me, scopes: [:user, :read] do
current_user.to_json
end
# ...
end
end
end

Auto-documented API

Check out the sample app

The sample app is a Rails 4 template with everything necessary to create an autodocumented, secured API in Grape with doorkeeper.

There is also a wiki page with details for how to add this to an existing application.

  • grape a REST-like API micro-framework for Ruby. Makes building APIs easier and faster.

  • grape swagger The grape-swagger gem provides autogenerated swagger documentation (it's magical).

  • swagger ui rails The swagger-ui_rails gem provides asset pipeline assets for swagger-ui - beautiful, interactive documentation.

  • wine_bouncer The wine_bouncer gem protects grape with Doorkeeper, documents it in swagger, and permits scoping-based protection.