Какие знаешь методы авторизации
Python
Senior
Без компании
Какие знаешь методы авторизации
Ответы
В Python есть несколько популярных методов авторизации:
- **Basic Auth** – простейший метод, передача логина и пароля в заголовке `Authorization` в base64.
```
import requests
from requests.auth import HTTPBasicAuth
response = requests.get('https://api.example.com', auth=HTTPBasicAuth('user', 'pass'))
```
- **Token-based Auth** (JWT) – токен передается в заголовке `Authorization: Bearer <token>`.
```
headers = {'Authorization': 'Bearer your_token'}
requests.get('https://api.example.com', headers=headers)
```
- **OAuth/OAuth2** – сложный протокол для делегированного доступа (используется в API Google, Facebook и др.).
```
from requests_oauthlib import OAuth2Session
oauth = OAuth2Session(client_id, token=token)
oauth.get('https://api.example.com/protected')
```
- **Session-based Auth** – сервер хранит сессию (например, через cookies в Flask/Django).
```
from flask import session
@app.route('/login', methods=['POST'])
def login():
session['user'] = request.form['username']
```
- **API Keys** – ключ в URL или заголовке.
```
params = {'api_key': 'your_key'}
requests.get('https://api.example.com', params=params)
```