Commit cc091b7
Changed files (8)
app
spec
requests
my
app/controllers/my/mfas_controller.rb
@@ -12,7 +12,7 @@ module My
end
def create
- current_user.update!(params.require(:user).permit(:tfa_secret))
+ current_user.update!(params.require(:user).permit(:mfa_secret))
redirect_to my_dashboard_path, notice: "successfully updated!"
end
app/models/mfa.rb
@@ -16,15 +16,15 @@ class Mfa
end
def build_secret
- user.tfa_secret = ::ROTP::Base32.random_base32
+ user.mfa_secret = ::ROTP::Base32.random_base32
end
def disable!
- user.update!(tfa_secret: nil)
+ user.update!(mfa_secret: nil)
end
def secret
- user.tfa_secret
+ user.mfa_secret
end
def current_totp
app/views/my/mfas/edit.html.erb
@@ -8,7 +8,7 @@
<p>Provisioning URI: <%= current_user.mfa.provisioning_uri %></p>
<%= form_for current_user, url: my_mfa_path, method: :delete do |form| %>
- <%= form.hidden_field :tfa_secret, data: { target: 'mfa--setup.secret' } %>
+ <%= form.hidden_field :mfa_secret, data: { target: 'mfa--setup.secret' } %>
<%= form.submit "Disable", class: 'btn btn-danger', data: { disable_with: 'Saving…' } %>
<%= link_to "Cancel", my_dashboard_path, class: 'btn' %>
<% end %>
app/views/my/mfas/new.html.erb
@@ -8,7 +8,7 @@
<p>Provisioning URI: <%= current_user.mfa.provisioning_uri %></p>
<%= form_for current_user, url: my_mfa_path, method: :post do |form| %>
- <%= form.hidden_field :tfa_secret, data: { target: 'mfa--setup.secret' } %>
+ <%= form.hidden_field :mfa_secret, data: { target: 'mfa--setup.secret' } %>
<%= form.submit t(".enable"), class: 'btn btn-primary', data: { disable_with: 'Saving…' } %>
<%= link_to t(".cancel"), my_dashboard_path, class: 'btn' %>
<% end %>
db/migrate/20180905005659_rename_tfa_secret_to_mfa_secret.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class RenameTfaSecretToMfaSecret < ActiveRecord::Migration[5.2]
+ def change
+ rename_column :users, :tfa_secret, :mfa_secret
+ end
+end
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: 2018_03_11_010910) do
+ActiveRecord::Schema.define(version: 2018_09_05_005659) do
create_table "sessions", force: :cascade do |t|
t.string "session_id", null: false
@@ -27,8 +27,8 @@ ActiveRecord::Schema.define(version: 2018_03_11_010910) do
t.string "password_digest"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
- t.bigint "lock_version", default: 0, null: false
- t.string "tfa_secret", limit: 16
+ t.integer "lock_version", default: 0, null: false
+ t.string "mfa_secret", limit: 16
t.index ["uuid"], name: "index_users_on_uuid"
end
spec/requests/my/mfas_spec.rb
@@ -38,9 +38,9 @@ RSpec.describe '/my/mfa' do
describe "POST /my/mfa" do
context "when the secret is valid" do
let(:secret) { SecureRandom.hex(20) }
- before { post '/my/mfa', params: { user: { tfa_secret: secret } } }
+ before { post '/my/mfa', params: { user: { mfa_secret: secret } } }
- specify { expect(current_user.reload.tfa_secret).to eql(secret) }
+ specify { expect(current_user.reload.mfa_secret).to eql(secret) }
specify { expect(response).to redirect_to(my_dashboard_path) }
specify { expect(flash[:notice]).to include("successfully updated!") }
end
@@ -52,7 +52,7 @@ RSpec.describe '/my/mfa' do
before { delete '/my/mfa' }
- specify { expect(current_user.reload.tfa_secret).to be_nil }
+ specify { expect(current_user.reload.mfa_secret).to be_nil }
specify { expect(response).to redirect_to(my_dashboard_path) }
specify { expect(flash[:notice]).to include("MFA has been disabled") }
end
spec/factories.rb
@@ -5,7 +5,7 @@ FactoryBot.define do
password { FFaker::Internet.password }
trait :mfa_configured do
- tfa_secret { ::ROTP::Base32.random_base32 }
+ mfa_secret { ::ROTP::Base32.random_base32 }
end
end
end