Python secrets.token_urlsafe: создать случайный токен
Для временного токена используйте secrets.token_urlsafe, который берёт случайность из системного криптографического генератора. Укажите число байт энтропии, а не нужную длину строки.
Рабочий пример
import secrets
token139 = secrets.token_urlsafe(32)
print(len(token139)) # 4332 случайных байта обычно кодируются строкой около 43 символов. Храните токен в secret manager, показывайте его пользователю только при создании и сравнивайте безопасным способом.
Частый вопрос
Чем token_urlsafe отличается от uuid4?
token_urlsafe использует криптографическую случайность и подходит для секретов. UUID полезен как идентификатор, но не должен служить bearer-токеном.