How to Add JWT Auth API to Existing Rails Application

Viacheslav Kharchenko
1 min readApr 4, 2022
Server with wires
Photo by Jordan Harrison on Unsplash

First things first, add ‘JWT’ and ‘Blueprint’ gems to your Gemfile.

JWT gem is a ruby implementation of the RFC 7519 OAuth JSON Web Token (JWT) standard.

Blueprinter is a JSON Object Presenter for Ruby that takes business objects and breaks them down into simple hashes and serializes them to JSON.

So, your Gemfile should contain these new lines:

Then run bundle in the Terminal.

To be able to access API pages, add them to the routes.rb file:

Create app/controllers/api folder and put the api_controller.rb file there:

To implement the registration feature, create this registrations_controller.rb file. Note, that standard registration logic is reused from the version of the application before the API feature implementation. Here we used the DRY Monads.

Implement the authorization feature in sessions_controller.rb:

To test the API we can try to get the profile data for an authenticated user with the users_controller:

Add Blueprint that will transform object’s data to JSON:

That’s it! You have JWT Auth API with DRY Monads in your existing Rails application.

--

--