|
@@ -39,7 +39,8 @@ async def query_user(user_id: str):
|
|
|
:param user_id: E-Mail of the user
|
|
|
:return: None or the user object
|
|
|
"""
|
|
|
- result = await User.filter(email=user_id,is_active=1).first()
|
|
|
+ # result = await User.filter(email=user_id,is_active=1).first()
|
|
|
+ result = await User.filter(email=user_id).first()
|
|
|
|
|
|
if not result:
|
|
|
print('無此筆資料')
|
|
@@ -105,7 +106,7 @@ async def login(username: str = Form(default=''), password: str = Form(default='
|
|
|
)
|
|
|
user = await User.filter(email=email).first() # 確認信箱是否已存在
|
|
|
if not user:
|
|
|
- u = await User.create(username=username, password=password, email=email,token=access_token, is_superuser=0,points=0)
|
|
|
+ u = await User.create(username=username, password=password, email=email,token=access_token, is_superuser=0, points=0,is_active =1)
|
|
|
create_user = u
|
|
|
# if user:
|
|
|
# print('已用相同信箱註冊過,再開一個GMAIL帳號')
|
|
@@ -144,12 +145,12 @@ async def logout():
|
|
|
return {"msg":"logout success","code":200}
|
|
|
|
|
|
@users.post("/add") # 寄認證信
|
|
|
-async def add(username: str = Form(default=''), password: str = Form(default=''), email: str = Form(default=''), re_password: str = Form(default=''), position: str = Form(default='')):
|
|
|
+async def add(username: str = Form(default=''), password: str = Form(default=''), email: str = Form(default=''), re_password: str = Form(default='')):
|
|
|
if username and password and email:
|
|
|
user_email = await query_user(email)
|
|
|
user_username = await query_user_username(username)
|
|
|
|
|
|
- if user_email and user_username:
|
|
|
+ if user_email or user_username:
|
|
|
return {"msg":"該信箱或使用者名稱已存在","code":403}
|
|
|
# elif user_username:
|
|
|
# return {"msg":"該使用者名稱已存在","code":403}
|
|
@@ -159,12 +160,13 @@ async def add(username: str = Form(default=''), password: str = Form(default='')
|
|
|
# data={'sub': email}
|
|
|
# )
|
|
|
print('前',settings.SECRET_KEY)
|
|
|
- access_token = jwt.encode({'email':email}, settings.SECRET_KEY, algorithm="HS256")
|
|
|
+ expiration_time = datetime.utcnow() + timedelta(hours=0.5)
|
|
|
+ access_token = jwt.encode({'email':email,'exp':expiration_time}, settings.SECRET_KEY, algorithm="HS256")
|
|
|
hashed_password = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt()).decode('utf-8')
|
|
|
- u = await User.create(username=username, password=hashed_password, email=email,is_superuser=0,token='',points=0,is_active=0)
|
|
|
+ u = await User.create(username=username, password=hashed_password, email=email,is_superuser=0,token=access_token,points=0,is_active=1)
|
|
|
if u:
|
|
|
# message = '註冊認證'
|
|
|
- message = f"請點擊以下連結完成註冊流程:\n\nhttp://127.0.0.1:8000/api/verify?token={access_token}"
|
|
|
+ message = f"請點擊以下連結完成註冊流程:\n\nhttps://cmm.ai:8088/api/verify?token={access_token}"
|
|
|
subject = '註冊信'
|
|
|
print(message)
|
|
|
send_email(email,access_token,subject,message)
|
|
@@ -252,6 +254,7 @@ def send_email(
|
|
|
if settings.SMTP_PASSWORD:
|
|
|
smtp_options["password"] = settings.SMTP_PASSWORD
|
|
|
response = message.send(to=email_to, render=environment, smtp=smtp_options)
|
|
|
+ print('RResponse',response)
|
|
|
return {"message":f"send email result: {response}"}
|
|
|
# logging.info(f"send email result: {response}")
|
|
|
# email_content = MIMEText(message)
|