diff --git a/app.py b/app.py index e4750d3404e92a6780a7ff721761ecefff236a5e..d87831047101e75d5369be2ce4b977fd84a3786c 100644 --- a/app.py +++ b/app.py @@ -11,6 +11,11 @@ from database.models import User app = Flask(__name__) app.debug = True if "DEBUG" in environ and environ["DEBUG"] else False +app.config["SECRET_KEY"] = "_" if "SECRET_KEY" not in environ else environ["SECRET_KEY"] +app.config["SECURITY_PASSWORD_SALT"] = app.config["SECRET_KEY"] + +user_datastore = get_user_datastore() +security = Security(app, user_datastore) app.add_url_rule( '/graphql', @@ -21,7 +26,6 @@ app.add_url_rule( ) ) -user_datastore = get_user_datastore() @app.teardown_appcontext def shutdown_session(exception=None): diff --git a/database/schema.py b/database/schema.py index d0e2ba74fdeb0fdc37d2d7e4f9eeb3a058b68e30..79f72bdb5d7beb9d92e084f8dccfef46bffe2639 100644 --- a/database/schema.py +++ b/database/schema.py @@ -3,6 +3,7 @@ from graphene import relay from graphene_sqlalchemy import SQLAlchemyObjectType, SQLAlchemyConnectionField from database.models import User as UserModel, Application as ApplicationModel, Role as RoleModel from database.database import db_session, get_user_datastore +from flask_security.utils import hash_password user_datastore = get_user_datastore() @@ -21,7 +22,9 @@ class UserMutation(graphene.Mutation): user = graphene.Field(User) def mutate(self, info, username, password, email): - user = user_datastore.create_user(username=username, email=email, password=password) + user = user_datastore.create_user(username=username, + email=email, + password=hash_password(password)) user_datastore.commit() return UserMutation(user=user) diff --git a/requirements.txt b/requirements.txt index 18fe452d8710db8caf6994633b7a74c0b00b7afc..c94686f8b4433f7d16230a06da4c46b87f21008f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,4 @@ flask-sqlalchemy flask-security graphene_sqlalchemy Flask-GraphQL +bcrypt