auth via email

This commit is contained in:
knst-kotov
2021-08-25 11:31:51 +03:00
parent 3c538d3724
commit 805db9814a
8 changed files with 60 additions and 20 deletions

View File

@@ -5,6 +5,7 @@ from auth.authorize import Authorize
from auth.identity import Identity
from auth.password import Password
from auth.validations import CreateUser
from auth.email import send_auth_email
from orm import User
from orm.base import local_session
from resolvers.base import mutation, query
@@ -29,11 +30,8 @@ async def register(*_, email: str, password: str = ""):
create_user = CreateUser(**inp)
create_user.username = email.split('@')[0]
if not password:
# NOTE: 1 hour confirm_token expire
confirm_token = Token.encode(create_user, datetime.now() + timedelta(hours = 1) , "email")
# TODO: sendAuthEmail(confirm_token)
# без пароля не возвращаем, а высылаем токен на почту
#
user = User.create(**create_user.dict())
await send_auth_email(user)
return { "user": user }
else:
create_user.password = Password.encode(create_user.password)