Как получить токен на сервере
Python
Middle
Без компании
Как получить токен на сервере
Ответы
Для получения токена на сервере обычно используется аутентификация через OAuth2, JWT или API-ключи. Пример с JWT (JSON Web Token) в Python с использованием библиотеки `PyJWT`:
```
import jwt
from datetime import datetime, timedelta
SECRET_KEY = "your-secret-key"
ALGORITHM = "HS256"
def create_access_token(data: dict, expires_delta: timedelta = None):
to_encode = data.copy()
if expires_delta:
expire = datetime.utcnow() + expires_delta
else:
expire = datetime.utcnow() + timedelta(minutes=15)
to_encode.update({"exp": expire})
encoded_jwt = jwt.encode(to_encode, SECRET_KEY, algorithm=ALGORITHM)
return encoded_jwt
# Пример использования
token = create_access_token({"sub": "user_id"}, timedelta(days=1))
```
Для OAuth2 можно использовать библиотеки типа `requests-oauthlib` или `Authlib. Пример с`requests-oauthlib`:
```
from requests_oauthlib import OAuth2Session
client_id = "your_client_id"
token_url = "https://provider.com/oauth2/token"
oauth = OAuth2Session(client_id)
token = oauth.fetch_token(token_url, client_secret="your_secret")
```
Токен обычно возвращается в формате JSON и содержит `access_token`, `refresh_token` и срок действия.