Невозможно проверить подлинность приложения Angular 5 с IdentityServer4 с помощью Juniper Firewall
У нас есть следующие настройки:
Интернет -> Брандмауэр (Juniper) -> Клиентское приложение (Angular 5) -> Поставщик удостоверений (позже именуемый IDP)
Случай 1:
- Клиентское приложение доступа пользователя из интрасети
- Клиентское приложение использует "неявный" поток для аутентификации пользователя из IDP
- Клиентское приложение имеет доступ к http://
/. Широко известная / openid-configuration - Он связывается с IDP, используя "authorization_endpoint" и т. Д.
- Работает отлично.
Случай 2:
- Клиентское приложение доступа пользователя из интернета
- Поскольку клиентское приложение доступно из брандмауэра (juniper), оно отправляет запрос и получает ответ
Поскольку Juniper кодирует IDP_URL. Новый URL становится
http://
/ , DanaInfo =/ .well-known / openid-configurationДокумент обнаружения содержит "authorization_endpoint" как
https: //
/ подключиться / авторизоваться ,а не
http://
/, DanaInfo = Браузер пытается подключиться к
https: //< IDP_URL> / подключиться / авторизоваться?client_id=xxxx&redirect_uri=xxx
который затем не выполнил запрос, так как он не существует.
Вопросы:
- Могу ли я как-то обновить "authorization_endpoint" "IdentityServer4"? И если бы я мог обновить его до Juniper_Encoded_Url. Будет ли это работать?
Ссылка:
Кодирование / декодирование URL в Juniper: https://lab.mediaservice.net/code/junidec.c
Любые решения будут высоко оценены.