|
|
|
@ -1,7 +1,6 @@
|
|
|
|
import base64
|
|
|
|
import base64
|
|
|
|
import json
|
|
|
|
import json
|
|
|
|
import logging
|
|
|
|
import logging
|
|
|
|
import random
|
|
|
|
|
|
|
|
import secrets
|
|
|
|
import secrets
|
|
|
|
import uuid
|
|
|
|
import uuid
|
|
|
|
from datetime import UTC, datetime, timedelta
|
|
|
|
from datetime import UTC, datetime, timedelta
|
|
|
|
@ -261,7 +260,7 @@ class AccountService:
|
|
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
@staticmethod
|
|
|
|
def generate_account_deletion_verification_code(account: Account) -> tuple[str, str]:
|
|
|
|
def generate_account_deletion_verification_code(account: Account) -> tuple[str, str]:
|
|
|
|
code = "".join([str(random.randint(0, 9)) for _ in range(6)])
|
|
|
|
code = "".join([str(secrets.randbelow(exclusive_upper_bound=10)) for _ in range(6)])
|
|
|
|
token = TokenManager.generate_token(
|
|
|
|
token = TokenManager.generate_token(
|
|
|
|
account=account, token_type="account_deletion", additional_data={"code": code}
|
|
|
|
account=account, token_type="account_deletion", additional_data={"code": code}
|
|
|
|
)
|
|
|
|
)
|
|
|
|
@ -429,7 +428,7 @@ class AccountService:
|
|
|
|
additional_data: dict[str, Any] = {},
|
|
|
|
additional_data: dict[str, Any] = {},
|
|
|
|
):
|
|
|
|
):
|
|
|
|
if not code:
|
|
|
|
if not code:
|
|
|
|
code = "".join([str(random.randint(0, 9)) for _ in range(6)])
|
|
|
|
code = "".join([str(secrets.randbelow(exclusive_upper_bound=10)) for _ in range(6)])
|
|
|
|
additional_data["code"] = code
|
|
|
|
additional_data["code"] = code
|
|
|
|
token = TokenManager.generate_token(
|
|
|
|
token = TokenManager.generate_token(
|
|
|
|
account=account, email=email, token_type="reset_password", additional_data=additional_data
|
|
|
|
account=account, email=email, token_type="reset_password", additional_data=additional_data
|
|
|
|
@ -456,7 +455,7 @@ class AccountService:
|
|
|
|
|
|
|
|
|
|
|
|
raise EmailCodeLoginRateLimitExceededError()
|
|
|
|
raise EmailCodeLoginRateLimitExceededError()
|
|
|
|
|
|
|
|
|
|
|
|
code = "".join([str(random.randint(0, 9)) for _ in range(6)])
|
|
|
|
code = "".join([str(secrets.randbelow(exclusive_upper_bound=10)) for _ in range(6)])
|
|
|
|
token = TokenManager.generate_token(
|
|
|
|
token = TokenManager.generate_token(
|
|
|
|
account=account, email=email, token_type="email_code_login", additional_data={"code": code}
|
|
|
|
account=account, email=email, token_type="email_code_login", additional_data={"code": code}
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|