From ba192f12e381842c90df0fab2fcb1a23cae97fc4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 27 Jan 2017 20:28:46 +0100 Subject: Added optional two-factor authentication --- ...20170127165745_add_devise_two_factor_to_users.rb | 9 +++++++++ db/schema.rb | 21 +++++++++++++-------- 2 files changed, 22 insertions(+), 8 deletions(-) create mode 100644 db/migrate/20170127165745_add_devise_two_factor_to_users.rb (limited to 'db') diff --git a/db/migrate/20170127165745_add_devise_two_factor_to_users.rb b/db/migrate/20170127165745_add_devise_two_factor_to_users.rb new file mode 100644 index 000000000..f4183e4a9 --- /dev/null +++ b/db/migrate/20170127165745_add_devise_two_factor_to_users.rb @@ -0,0 +1,9 @@ +class AddDeviseTwoFactorToUsers < ActiveRecord::Migration[5.0] + def change + add_column :users, :encrypted_otp_secret, :string + add_column :users, :encrypted_otp_secret_iv, :string + add_column :users, :encrypted_otp_secret_salt, :string + add_column :users, :consumed_timestep, :integer + add_column :users, :otp_required_for_login, :boolean + end +end diff --git a/db/schema.rb b/db/schema.rb index 72ce63133..7a7fea86b 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170125145934) do +ActiveRecord::Schema.define(version: 20170127165745) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -240,25 +240,30 @@ ActiveRecord::Schema.define(version: 20170125145934) do end create_table "users", force: :cascade do |t| - t.string "email", default: "", null: false - t.integer "account_id", null: false - t.datetime "created_at", null: false - t.datetime "updated_at", null: false - t.string "encrypted_password", default: "", null: false + t.string "email", default: "", null: false + t.integer "account_id", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.string "encrypted_password", default: "", null: false t.string "reset_password_token" t.datetime "reset_password_sent_at" t.datetime "remember_created_at" - t.integer "sign_in_count", default: 0, null: false + t.integer "sign_in_count", default: 0, null: false t.datetime "current_sign_in_at" t.datetime "last_sign_in_at" t.inet "current_sign_in_ip" t.inet "last_sign_in_ip" - t.boolean "admin", default: false + t.boolean "admin", default: false t.string "confirmation_token" t.datetime "confirmed_at" t.datetime "confirmation_sent_at" t.string "unconfirmed_email" t.string "locale" + t.string "encrypted_otp_secret" + t.string "encrypted_otp_secret_iv" + t.string "encrypted_otp_secret_salt" + t.integer "consumed_timestep" + t.boolean "otp_required_for_login" t.index ["account_id"], name: "index_users_on_account_id", using: :btree t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true, using: :btree t.index ["email"], name: "index_users_on_email", unique: true, using: :btree -- cgit