Какие знаешь методы авторизации и аутентификации
Python
Middle
Без компании
Какие знаешь методы авторизации и аутентификации
Ответы
В Python распространены следующие методы аутентификации и авторизации:
- **Basic Auth** – простейший метод с логином/паролем в заголовке (base64).
```
import requests
response = requests.get('https://api.example.com', auth=('user', 'pass'))
```
- **Token-based (JWT)** – токен в заголовке `Authorization: Bearer <token>`.
```
headers = {'Authorization': 'Bearer eyJhbGciOi...'}
requests.get('https://api.example.com', headers=headers)
```
- **OAuth/OAuth2** – делегированный доступ через провайдеров (Google, GitHub и др.). Используют библиотеки `authlib`, `requests-oauthlib`.
- **Session-based** – сервер хранит сессию (например, через Flask-Login).
```
from flask_login import LoginManager, UserMixin
login_manager = LoginManager(app)
```
- **API Keys** – статичный ключ в заголовке или параметре URL.
- **SSO (SAML, OpenID Connect)** – единый вход через корпоративные системы.
Для безопасности важно: HTTPS, хеширование паролей (bcrypt), валидация токенов, ограничение попыток входа.