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

Какие знаешь способы аутентификации пользователя

В Python есть несколько способов аутентификации пользователей:

  1. Базовая HTTP-аутентификация
    Используется в веб-приложениях через заголовок Authorization.
    python
    from flask import request
    from werkzeug.security import check_password_hash
    
    @app.route('/login')
    def login():
        auth = request.authorization
        if auth and check_password_hash(user.password_hash, auth.password):
            return "Logged in!"
  1. JWT (JSON Web Tokens)
    Популярный метод для stateless-аутентификации.

    python
    import jwt
    token = jwt.encode({'user_id': 123}, 'secret', algorithm='HS256')
    decoded = jwt.decode(token, 'secret', algorithms=['HS256'])
  2. OAuth/OpenID Connect
    Используется для интеграции с соцсетями (Google, Facebook).
    Библиотеки: authlib, python-social-auth.

  3. Сессии (Cookie-based)
    Хранение данных аутентификации на сервере.

    python
    from flask import session
    session['user_id'] = user.id  # Сохранение
    user_id = session.get('user_id')  # Проверка
  4. API-ключи
    Простой способ для сервисного взаимодействия.

    python
    if request.headers.get('X-API-KEY') == 'secret_key':
        allow_access()

Для безопасности всегда:

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

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

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

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