Two factor authentication extension for Devise
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Dmitrii Golub e4c812ad6d first commit 13 years ago
app first commit 13 years ago
config/locales first commit 13 years ago
lib first commit 13 years ago
.gitignore first commit 13 years ago
Gemfile first commit 13 years ago
LICENSE first commit 13 years ago
README.md first commit 13 years ago
Rakefile first commit 13 years ago
two_factor_authentication.gemspec first commit 13 years ago

README.md

Two factor authentication for Devise

Features

  • control sms code pattern
  • configure max login attempts
  • per user level control if he really need two factor authentication
  • your own sms logic

Configuration

To enable two factor authentication for User model, you should add two_factor_authentication to your devise line, like:

  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable, :two_factor_authenticatable

Two default parameters

  config.login_code_random_pattern = /\w+/
  config.max_login_attempts = 3

Possible random patterns

/\d{5}/
/\w{4,8}/

see more https://github.com/benburkert/randexp

By default second factor authentication enabled for each user, you can change it with this method in your User mdoel:

  def need_two_factor_authentication?(request)
    request.ip != '127.0.0.1'
  end

this will disable two factor authentication for local users

Your send sms logic should be in this method in your User model:

  def send_two_factor_authentication_code(code)
    puts code
  end

This example just puts code in logs