Реализация серверов фермы JWT(Json Web Token)

Я работаю в решении, где у нас есть сервер фермы для обработки приложения. Есть ли проблема, если я использую JWT? Я имею в виду, что если мой сервер A не работает, и пользователь получил токен с сервера A и отправил запрос на сервер B, используя JWT, сгенерированный сервером B, сервер B сможет аутентифицировать запрос, используя JWT, сгенерированный сервером A?

с уважением

1 ответ

Да, токены должны быть приняты, если аудитория ("aud") действительна.

Заявка "aud" (аудитория) определяет получателей, для которых предназначен JWT. Каждый принципал, предназначенный для обработки JWT, ДОЛЖЕН идентифицировать себя со значением в требовании аудитории. Если принципал, обрабатывающий претензию, не идентифицирует себя со значением в претензии "aud", когда эта претензия присутствует, то JWT ДОЛЖЕН быть отклонен. В общем случае значение "aud" представляет собой массив строк с учетом регистра, каждая из которых содержит значение StringOrURI. В особом случае, когда JWT имеет одну аудиторию, значение "aud" МОЖЕТ быть единственной чувствительной к регистру строкой, содержащей значение StringOrURI. Интерпретация ценностей аудитории, как правило, зависит от конкретного приложения.

B также может проверить, что эмитент токена ("iss") является одним из серверов фермы, или что все серверы могут использовать одного и того же эмитента.

Больше информации в спецификации JWT.

Другие вопросы по тегам