Я начинаю с Конга. Я успешно сделал простую систему аутентификации с плагином Oauth2, но теперь у меня проблемы с JWT.
Я много искал, но по этой теме не хватает документации и ресурсов.
Я следовал руководству здесь: https://getkong.org/plugins/jwt/
Я создал потребителя с его учетными данными JWT:
{
"secret": "6b965bcbf48a4ea7a170bf56557e14c1",
"id": "5587b664-c8b5-4941-95fe-f6e03c319fa4",
"algorithm": "HS256",
"created_at": 1500473323000,
"key": "6fad7730b5134fbb9d74d356d838c9b4",
"consumer_id": "459cc6ab-fd62-4510-80cc-4eb48e5326a3"
}
Затем я открыл https://jwt.io/ и многие другие инструменты для генерации ключа. В любом случае вот данные, которые я ввел:
Заголовок
{
"typ": "JWT",
"alg": "HS256"
}
Полезная нагрузка
{
"iss": "6fad7730b5134fbb9d74d356d838c9b4"
}
Проверить подпись
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
6b965bcbf48a4ea7a170bf56557e14c1
)
Инструмент возвращает ключ, который я затем использую в качестве заголовка авторизации:
Authorization: Bearer <token>
К сожалению, ответ сервера всегда 401:
{
"error_description": "The access token is invalid or has expired",
"error": "invalid_token"
}
Если я отправлю сломанный токен или токен, созданный из неверных данных, я получаю другое сообщение об ошибке.
Что я здесь делаю не так?