Токен JWT с полезной нагрузкой URL за прокси
В настоящее время я генерирую токены JWT (фактически JWS) из приложения, которое доступно через публичный адрес, как показано ниже:
Маркер содержит полезную нагрузку, сгенерированную сервером:
{
"uid": "7a7c5cdd-c08f-4241-b2c1-c97d291b06d0",
"issuedOn": 1536334767,
"publicKey": "http://api.privatedomain.lan:7777/public-key.pem"
}
Сервер должен поместить URL в полезную нагрузку для целей проверки. В этом примере мой сервер фактически развернут за обратным прокси-сервером по следующему адресу:
В настоящее время я использую URL-адрес хоста приложения, поэтому при генерации этой полезной нагрузки сгенерированный URL-адрес является одним из фактического приложения - https://api.publicdomain.com
- а не общедоступный URL - https://api.privatedomain.lan:7777/
,
Обратный прокси-сервер обрабатывает перезапись URL-адресов для моих ответов json и всего остального, но я не думаю, что обратный прокси-сервер должен обрабатывать перезапись URL-адресов в токене JWT. Итак, как мое приложение должно справиться с этим?
Два решения, которые я вижу:
- Сервер приложений знает, что он развернут за обратным прокси и жесткими кодами
https://api.publicdomain.com
в полезной нагрузке - Прокси-сервер отправляет дополнительный http-заголовок (есть ли для этого стандарт?), Который приложение использует для создания полезной нагрузки.
Я думаю, что № 2 лучше, но я хотел бы иметь представление о том, каков общий подход к решению этой проблемы, и если я пропустил другие подходы.