15 lines
449 B
Elixir
15 lines
449 B
Elixir
|
|
defmodule Berrypod.Repo.Migrations.AddTotpToUsers do
|
||
|
|
use Ecto.Migration
|
||
|
|
|
||
|
|
def change do
|
||
|
|
alter table(:users) do
|
||
|
|
# Encrypted TOTP secret (20 bytes base32-encoded = 32 chars, but encrypted is larger)
|
||
|
|
add :totp_secret_encrypted, :binary
|
||
|
|
# When 2FA was enabled
|
||
|
|
add :totp_enabled_at, :utc_datetime
|
||
|
|
# Backup codes (encrypted JSON array of hashed codes)
|
||
|
|
add :totp_backup_codes_encrypted, :binary
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|