25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

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