Встречается на собеседованиях • сегодня

Как реализовать аутентификацию

Для аутентификации в Python можно использовать несколько подходов:

  1. Базовая аутентификация (HTTP Basic Auth) - простейший вариант, но небезопасный без HTTPS:
python
from flask import Flask, request, abort
from werkzeug.security import check_password_hash

app = Flask(__name__)

users = {
    "admin": "pbkdf2:sha256:260000$hash..."
}

@app.route('/protected')
def protected():
    auth = request.authorization
    if not auth or not check_password_hash(users.get(auth.username, ''), auth.password):
        abort(401)
    return "Доступ разрешен"
  1. JWT (JSON Web Tokens) - популярный метод для REST API:
python
import jwt
from datetime import datetime, timedelta

SECRET_KEY = "your-secret-key"

def create_token(user_id):
    payload = {
        'sub': user_id,
        'exp': datetime.utcnow() + timedelta(hours=1)
    }
    return jwt.encode(payload, SECRET_KEY, algorithm='HS256')
  1. OAuth/OpenID Connect - для интеграции с соцсетями через библиотеки типа authlib или python-social-auth.

  2. Готовые решения:

  • Django: встроенная система аутентификации
  • FastAPI: fastapi.security модуль
  • Flask: расширения Flask-Login, Flask-Security

Для продакшена всегда:

  • Используйте HTTPS
  • Храните пароли только как хеши (bcrypt, PBKDF2)
  • Реализуйте защиту от brute-force
  • Обновляйте зависимости
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы