Встречается на собеседованиях • сегодня
Как можно авторизовать пользователя
В Python есть несколько способов авторизации пользователей:
- Базовая HTTP-авторизация (используется в веб-приложениях):
python
from flask import request
@app.route('/login')
def login():
auth = request.authorization
if auth and auth.username == 'admin' and auth.password == 'secret':
return 'Logged in!'
return 'Invalid credentials', 401- JWT-токены (для API):
python
import jwt
from datetime import datetime, timedelta
def generate_token(user_id):
payload = {
'user_id': user_id,
'exp': datetime.utcnow() + timedelta(hours=1)
}
return jwt.encode(payload, 'secret_key', algorithm='HS256')
text
3. **OAuth** (через сторонние сервисы):
```python
from authlib.integrations.flask_client import OAuth
oauth = OAuth(app)
google = oauth.register('google',
client_id='...',
client_secret='...',
authorize_url='...',
access_token_url='...',
client_kwargs={'scope': 'email profile'}
)- Сессии (для веб-приложений):
python
from flask import session
@app.route('/login', methods=['POST'])
def login():
session['user_id'] = user.id # Сохраняем ID пользователя в сессииВыбор метода зависит от типа приложения (веб, API), требований безопасности и масштаба проекта. Для простых случаев подойдут сессии, для API - JWT, для интеграции с соцсетями - OAuth.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы