Gem Version Build Status Code Climate

This gem provides the extracted Token Authenticatable module of devise. It includes the functionality that was also in version 3.1.2 of devise. With the inclusion of this module a user is able to sign in via an authentication token. This token can be given via a query string or HTTP Basic Authentication. This gem requires devise 3.3.0 or newer (see the hint below for older devise versions).

Use this gem as a starting point for your own token authentication mechanism for devise. Furthermore, if you need token authentication in connection with newer devise releases this gem might be an appropriate solution, too.


Add this line to your application's Gemfile:

gem 'devise-token_authenticatable'

And then execute:

$ bundle

Or install it yourself as:

$ gem install devise-token_authenticatable

Users of devise earlier than 3.3.0

Please, use version 0.1.0 of this gem. All later versions do not support devise < 3.3.0.


Add :token_authenticatable to your devise model:

class User < ActiveRecord::Base
  devise :database_authenticatable, :token_authenticatable

The authentication key name used by this module defaults to auth_token. Use the following configuration (e.g., in a Rails initializer) to alter the name:

Devise::TokenAuthenticatable.setup do |config|
  config.token_authentication_key = :other_key_name


For your convenience there is also a source code documentation.


  1. Fork it.
  2. Create your feature branch (git checkout -b my-new-feature).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin my-new-feature).
  5. Create new Pull Request.
  6. Get a thank you!