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

Как происходит клиент серверное взаимодействие с JWT

Клиент-серверное взаимодействие с JWT (JSON Web Token) происходит следующим образом: 1. **Аутентификация**: Клиент отправляет логин/пароль на сервер. Сервер проверяет их и генерирует JWT, подписывая его секретным ключом. 2. **Передача токена**: Сервер возвращает JWT клиенту (обычно в теле ответа или в заголовке). 3. **Последующие запросы**: Клиент включает JWT в заголовок `Authorization: Bearer ` при каждом запросе. 4. **Верификация**: Сервер проверяет подпись токена, его срок действия и другие claims перед обработкой запроса. Пример кода (Flask): ```python from flask import Flask, request, jsonify import jwt import datetime app = Flask(__name__) SECRET_KEY = "your_secret_key" @app.route('/login', methods=['POST']) def login(): # Проверка учетных данных token = jwt.encode({ 'user': 'username', 'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=30) }, SECRET_KEY) return jsonify({'token': token}) @app.route('/protected', methods=['GET']) def protected(): token = request.headers.get('Authorization').split()[1] try: data = jwt.decode(token, SECRET_KEY, algorithms=["HS256"]) return jsonify({'message': 'Доступ разрешен'}) except: return jsonify({'message': 'Неверный токен'}), 401 ``` JWT состоит из 3 частей (Header.Payload.Signature), закодированных в Base64. Основные преимущества: stateless, поддержка разных платформ, возможность передачи дополнительных данных в payload.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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