Я использую WSO2 Identity Server 5.10.0. У меня есть очень классический сценарий, представленный на этом изображении ![enter image description here](https://i.stack.imgur.com/0SVGl.png)
В основном у меня на DMZ есть Apache веб-сервер, отвечающий по SSL через порт 443; в безопасной зоне у меня WSO2 IS сервер отвечает на порт 9443. Мне нужно поддерживать OAuth Open ID аутентификацию (но у меня та же проблема в случае SAML).
Я сконфигурировал мой deployment.toml
файл в вот так:
[server]
hostname = "IAM01"
node_ip = "10.xxxx.yyyy.zzzz"
base_path = "https://$ref{server.hostname}:${carbon.management.port}"
Теперь, когда я звоню по URL https://mydomain/oauth2/token/.well-known/openid-configuration
, чтобы получить всю информацию OAuth, запрос передается на веб-сервер и с веб-сервера на WSO2. Полный ответ WSO2 JSON здесь здесь
Как вы можете видеть, в этом JSON WSO2 отвечает мне, давая такие URL-адреса: https://IAM01:9443/oauth2/authorize
. Это потому, что в моем deployment.toml
я рассказал ему эти параметры. Конечно, я могу изменить имя хоста в mydomain, но это остается проблемой порта. Фактически, мои клиенты не смогут выполнить сопоставление с oauth-эмитентом, поскольку они проверяют наличие эмитента без порта. Что я хотел бы сделать, так это настроить WSO2 IS, чтобы он мог генерировать всю информацию о токенах, используя мою спецификацию, и я не хочу запускать WSO2 IS-сервер на порту 443 (кроме того, как пользователь root). Я попытался настроить резидентный поставщик удостоверений с помощью его интерфейса, как показано в следующем
Также, таким образом, я не могу сказать WSO2 генерировать всю информацию, используя только https://mydomain/
без добавления порта и прочего.
Как я могу сделать эту конфигурацию? Более того, для политик безопасности я не могу запустить WSO2 IS на порту 443.
Спасибо
Angelo