Skip to content
Snippets Groups Projects
Commit fdac9094 authored by Mart van Santen's avatar Mart van Santen
Browse files

Make initial use creation at kratos

parent 157e2c9f
No related branches found
No related tags found
1 merge request!50Implemente basic flask + database APIs
Pipeline #9578 failed with stage
in 47 seconds
......@@ -16,9 +16,22 @@ from flask.cli import AppGroup
import hydra_client
# Kratos ?
from kratos import User, KratosError
from forms import LoginForm
#from kratos import User, KratosError
#from forms import LoginForm
import ory_kratos_client
from ory_kratos_client.api import metadata_api
from ory_kratos_client.api import v0alpha2_api as kratos_api
from ory_kratos_client.model.generic_error import GenericError
from ory_kratos_client.model.inline_response200 import InlineResponse200
from ory_kratos_client.model.inline_response2001 import InlineResponse2001
from ory_kratos_client.model.inline_response503 import InlineResponse503
from ory_kratos_client.model.admin_create_identity_body import AdminCreateIdentityBody
from ory_kratos_client.model.identity_state import IdentityState
#from ory_kratos_client.api.public_api import PublicApi as KratosPublicApi
##from ory_kratos_client.api.admin_api import AdminApi as KratosAdminApi
# Initaliaze the FLASK app
......@@ -26,14 +39,27 @@ app = Flask(__name__)
# Load config
app.config.from_object(os.environ['APP_SETTINGS'])
#
# Move to config?
app.logger.setLevel(logging.INFO)
# Create HYDRA & KRATOS API interfaces
HYDRA = hydra_client.HydraAdmin(app.config["HYDRA_ADMIN_URL"])
tmp = ory_kratos_client.Configuration(host=app.config["KRATOS_ADMIN_URL"],
discard_unknown_keys= True)
KRATOS_ADMIN = kratos_api.V0alpha2Api(ory_kratos_client.ApiClient(tmp))
tmp = ory_kratos_client.Configuration(host=app.config["KRATOS_PUBLIC_URL"],
discard_unknown_keys = True)
KRATOS_PUBLIC = kratos_api.V0alpha2Api(ory_kratos_client.ApiClient(tmp))
#
ids = KRATOS_ADMIN.admin_list_identities()
print (ids)
#
# Creat HYDRA admin interface
HYDRA_ADMIN_URL = os.environ['HYDRA_ADMIN_URL']
HYDRA = hydra_client.HydraAdmin(HYDRA_ADMIN_URL)
# Create DB & migrate interface
......@@ -107,6 +133,18 @@ def create_user(email):
obj.email = email
db.session.add(obj)
body = AdminCreateIdentityBody(
schema_id="default",
traits={'email':email},
) # AdminCreateIdentityBody | (optional)
#state=IdentityState("active"),
KRATOS_ADMIN.admin_create_identity(admin_create_identity_body=body)
db.session.commit()
......
......@@ -8,11 +8,15 @@ class Config(object):
DEBUG = False
TESTING = False
CSRF_ENABLED = True
SQLALCHEMY_DATABASE_URI = os.environ['DATABASE_URL']
HYDRA_ADMIN_URL = os.environ['HYDRA_ADMIN_URL'];
SECRET_KEY = os.urandom(16)
SQLALCHEMY_DATABASE_URI = os.environ['DATABASE_URL']
SQLALCHEMY_TRACK_MODIFICATIONS = False
HYDRA_ADMIN_URL = os.environ['HYDRA_ADMIN_URL']
HYDRA_ADMIN_URL = os.environ['HYDRA_ADMIN_URL'];
KRATOS_ADMIN_URL = os.environ['KRATOS_ADMIN_URL'];
KRATOS_PUBLIC_URL = os.environ['KRATOS_PUBLIC_URL'];
......
"""empty message
Revision ID: 9817fa267190
Revises: 207081778bb2
Create Date: 2021-11-16 08:41:26.106815
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '9817fa267190'
down_revision = '207081778bb2'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('users', sa.Column('admin', sa.Boolean(), nullable=True))
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('users', 'admin')
# ### end Alembic commands ###
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment