Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

123456789101112131415161718
  1. from datetime import datetime, timedelta
  2. from typing import Optional
  3. from jose import jwt
  4. from core.config import settings
  5. def create_access_token(data: dict, expires_delta: Optional[timedelta] = None):
  6. to_encode = data.copy()
  7. if expires_delta:
  8. expire = datetime.utcnow() + expires_delta
  9. else:
  10. expire = datetime.utcnow() + timedelta(minutes=settings.ACCESS_TOKEN_EXPIRE)
  11. to_encode.update({"exp": expire})
  12. encoded_jwt = jwt.encode(
  13. to_encode, settings.SECRET_KEY, algorithm=settings.ALGORITHM
  14. )
  15. return encoded_jwt