Встречается на собеседованиях • сегодня
Как происходит клиент серверное взаимодействие с 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.

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