Встречается на собеседованиях • сегодня
Каким образом Backend определяет поддельный JWT
Backend проверяет JWT на подлинность несколькими способами:
- Проверка сигнатуры - самая важная часть. Используется секретный ключ (для HMAC) или публичный ключ (для RSA/ECDSA) для верификации подписи токена. Если сигнатура не совпадает - токен поддельный.
python
import jwt
from jwt.exceptions import InvalidSignatureError
try:
decoded = jwt.decode(token, 'secret_key', algorithms=['HS256'])
except InvalidSignatureError:
print("Invalid token signature")
text
2. **Проверка стандартных claims**:
- `exp` (expiration) - время жизни токена
- `nbf` (not before) - токен нельзя использовать раньше
- `iss` (issuer) - кто выпустил токен
- `aud` (audience) - для кого предназначен
3. **Проверка формата токена** - должен состоять из 3 частей (header.payload.signature), разделенных точками, и быть правильно закодирован в base64.
4. **Проверка отозванных токенов** - через blacklist или проверку jti (JWT ID) в базе.
5. **Проверка алгоритма** - защита от атак, когда злоумышленник меняет алгоритм на 'none'.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы