Added optional two-factor authentication

This commit is contained in:
Eugen Rochko
2017-01-27 20:28:46 +01:00
parent 237cb41ab4
commit ba192f12e3
16 changed files with 146 additions and 15 deletions

View File

@ -1,6 +1,8 @@
# Use this hook to configure devise mailer, warden hooks and so forth.
# Many of these configuration options can be set straight in your model.
Devise.setup do |config|
config.warden do |manager|
manager.default_strategies(scope: :user).unshift :two_factor_authenticatable
end
# The secret key used by Devise. Devise uses this key to generate
# random tokens. Changing this key will render invalid all existing
# confirmation, reset password and unlock tokens in the database.

View File

@ -1,4 +1,4 @@
# Be sure to restart your server when you modify this file.
# Configure sensitive parameters which will be filtered from the log file.
Rails.application.config.filter_parameters += [:password, :private_key, :public_key]
Rails.application.config.filter_parameters += [:password, :private_key, :public_key, :otp_attempt]

View File

@ -93,6 +93,7 @@ en:
back: Back to Mastodon
edit_profile: Edit profile
preferences: Preferences
two_factor_auth: Two-factor Authentication
statuses:
over_character_limit: character limit of %{max} exceeded
stream_entries:
@ -104,6 +105,11 @@ en:
time:
formats:
default: "%b %d, %Y, %H:%M"
two_factor_auth:
description_html: If you enable <strong>two-factor authentication</strong>, logging in will require you to be in possession of your phone, which will generate tokens for you to enter.
disable: Disable
enable: Enable
instructions_html: "<strong>Scan this QR code into Google Authenticator or a similiar app on your phone</strong>. From now on, that app will generate tokens that you will have to enter when logging in."
users:
invalid_email: The e-mail address is invalid
will_paginate:

View File

@ -17,6 +17,7 @@ en:
locked: Make account private
new_password: New password
note: Bio
otp_attempt: If enabled, two-factor token
password: Password
username: Username
interactions:

View File

@ -47,6 +47,13 @@ Rails.application.routes.draw do
namespace :settings do
resource :profile, only: [:show, :update]
resource :preferences, only: [:show, :update]
resource :two_factor_auth, only: [:show] do
member do
post :enable
post :disable
end
end
end
resources :media, only: [:show]