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