✨ Advanced Authentication
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
"""Added webauthn
|
||||
|
||||
Revision ID: 25f2c34a69c8
|
||||
Revises: 97144a8cf6b6
|
||||
Create Date: 2022-12-17 16:53:28.909124
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
import ormar
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = "25f2c34a69c8"
|
||||
down_revision = "97144a8cf6b6"
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.create_table(
|
||||
"fido_credentials",
|
||||
sa.Column("pk", sa.Integer(), nullable=False),
|
||||
sa.Column("id", sa.LargeBinary(length=256), nullable=False),
|
||||
sa.Column("public_key", sa.LargeBinary(length=256), nullable=False),
|
||||
sa.Column("sign_count", sa.Integer(), nullable=False),
|
||||
sa.Column("user", ormar.fields.sqlalchemy_uuid.CHAR(32), nullable=True),
|
||||
sa.ForeignKeyConstraint(["user"], ["users.id"], name="fk_fido_credentials_users_id_user"),
|
||||
sa.PrimaryKeyConstraint("pk"),
|
||||
)
|
||||
op.add_column("users", sa.Column("require_password", sa.Boolean(), nullable=False))
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_column("users", "require_password")
|
||||
op.drop_table("fido_credentials")
|
||||
# ### end Alembic commands ###
|
||||
@@ -0,0 +1,29 @@
|
||||
"""Added totp
|
||||
|
||||
Revision ID: 694cb11c6886
|
||||
Revises: 901dfcdf8d38
|
||||
Create Date: 2022-12-18 13:20:48.091675
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
import ormar
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = "694cb11c6886"
|
||||
down_revision = "901dfcdf8d38"
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.add_column("users", sa.Column("totp_secret", sa.String(length=32), nullable=True))
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_column("users", "totp_secret")
|
||||
# ### end Alembic commands ###
|
||||
@@ -0,0 +1,45 @@
|
||||
"""Added Backup-code
|
||||
|
||||
Revision ID: 901dfcdf8d38
|
||||
Revises: 25f2c34a69c8
|
||||
Create Date: 2022-12-18 11:48:22.772981
|
||||
|
||||
"""
|
||||
import os
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.orm import Session
|
||||
import ormar
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = "901dfcdf8d38"
|
||||
down_revision = "25f2c34a69c8"
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.add_column("users", sa.Column("backup_code", sa.String(length=64), nullable=True))
|
||||
conn = op.get_bind()
|
||||
session = Session(bind=conn)
|
||||
res = session.execute("SELECT id from users;")
|
||||
for row in res:
|
||||
user_id = str(row).strip(",.'()")
|
||||
session.execute(
|
||||
sa.sql.text("UPDATE users SET backup_code = :backup_code WHERE users.id=:user_id"),
|
||||
{"user_id": user_id, "backup_code": os.urandom(32).hex()},
|
||||
)
|
||||
op.alter_column("users", "backup_code", nullable=False)
|
||||
|
||||
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_column("users", "backup_code")
|
||||
|
||||
|
||||
# ### end Alembic commands ###
|
||||
@@ -0,0 +1,29 @@
|
||||
"""Added github_user_id
|
||||
|
||||
Revision ID: 97144a8cf6b6
|
||||
Revises: b2acaede5c2f
|
||||
Create Date: 2022-12-17 16:25:44.446361
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
import ormar
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = "97144a8cf6b6"
|
||||
down_revision = "b2acaede5c2f"
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.add_column("users", sa.Column("github_user_id", sa.Integer(), nullable=True))
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_column("users", "github_user_id")
|
||||
# ### end Alembic commands ###
|
||||
Reference in New Issue
Block a user