в настоящее время наше приложение написано на Angular6. Передняя часть и пружинная загрузка. Остальные с подделкой (opendj, openam) в серверной части.
Текущий вход в систему работает сегодня, когда клиент заходит на наш веб-сайт и вводит свои учетные данные, а затем угловой запрос веб-интерфейса направляется в бэк-энд остальной загрузки при начальной загрузке, который затем вызывает forgerock и аутентифицирует пользователя и отвечает зашифрованным токеном, который устанавливается как cookie на frontend и каждый последующий вызов от frontend будут включать этот файл cookie при выполнении запросов на загрузку apis для начальной загрузки.
Итак, вот сценарий, который нам нужно реализовать
мы решили отказаться от forgerock с провайдером идентификации (не OKTA), и нам нужно перенаправить наш логин на этот новый Identityprovider с redirecturl вместе с несколькими другими параметрами, и они выполняют аутентификацию и перенаправляют обратно на нашу сторону с токеном авторизации ( id_token) вместе с информацией о пользователях претензий. Если мы используем OKTA, я узнал, что нам не нужно перенаправлять, и мы можем обновить нашу DOM со страницей входа в систему, но, к сожалению, нам не разрешено использовать okta, и мы должны перенаправить к этому новому провайдеру идентификации. Я знаю, что мы должны использовать неявный поток, потому что у нас есть угловой на фронтэнде.
Может кто-нибудь помочь, как реализовать этот сценарий? Вот мое предположение о реализации этого, пожалуйста, поправьте меня, если я ошибаюсь.
После того, как провайдер Identity аутентифицирует пользователя, мы отправляем его в наш API весенней загрузки, а затем выполняем другой HTTP POST для провайдера Identity, чтобы обменять токен авторизации на токен доступа, а затем зашифровать этот токен обратно в наш интерфейс и установить его как cookie. и каждый последующий звонок на сервер будет использовать этот файл cookie.
Я действительно ценю, если кто-то может пролить свет на это. Спасибо!