Skip to content

sethherr/grape-doorkeeper

Repository files navigation

Grape-Doorkeeper

Create an awesome versioned API, secured with OAuth2 and automatically documented.

This is a basic Rails 5 application with Doorkeeper, Grape & Swagger for getting to API building quickly.

You can view the live app and the Swagger-ui documentation.

This app is ready to deploy to Heroku Deploy

Set up

This app includes omniauth-bike-index. For Bike Index login to work, create a Bike Index app at BikeIndex.org/oauth/applications/new and add the values from BIKEINDEX_APP_ID and BIKEINDEX_APP_SECRET to the .env file.

Bike Index uses a similar grape, Swagger, doorkeeper setup—this is an example of creating an OmniAuth strategy for doorkeeper.

Adding to an existing application

View how to on the wiki.

Notes

Grape is mounted in app/controllers/api, as described in the excellent Introduction to building APIs with Grape by Monterail, and part 2 of the series.

There are are other posts in the series which are worth reading, particularly OAuth Implicit Grant with Grape, Doorkeeper and AngularJS.

There is also a Railscast on doorkeeper.

Important things in the Gemfile:

Also important, but maybe not as necessary to know about:


If you want to change the name of the app, swap out:

Testing

Rspec and guard - run bundle exec guard to watch your spec files for changes and rerun tests for those files.

There is a spec for the api/v1/me API route and for the swagger docs to help get you started.