Openid-connect или SAML 2.0
Наше текущее приложение
Бэкэнд находится в Spring Boot 2(RestAPI) и Angular во фронтенде. После завершения аутентификации он в настоящее время использует JWT(Bearer) для создания, обновления и удаления ресурсов путем передачи заголовков авторизации для RestAPI. Для операций чтения он доступен всем без авторизации.
Сейчас, в связи с увеличением количества заявок, мы переходим на IDP с KEYCLOAK
Я хотел знать, какой тип единого входа использовать в данном случае.
SAML 2.0 Если реализовано, после SSO с SAML, как мне создать / обновить / удалить ответ для моей конечной точки REST? поскольку я вижу, что SAML предоставляет утверждение, и мне нужен токен-носитель для создания ресурса. Как использовать утверждение для создания / обновления / удаления ответа для моей конечной точки REST?
Я попытался реализовать это с помощью расширения Spring-Saml. Но я не смог достичь вышеуказанной цели.
OIDC-OAuth Если реализовано, как мне отфильтровать конечные точки, доступные только для чтения, по всем тем URL, которые будут доступны без авторизации? Реализация Keycloak по умолчанию для OIDC является нестандартной.
Я реализовал это в oidc, используя адаптер Keycloaks для пружинного упора.
Спасибо!!
1 ответ
SAML 2.0 - это более старый протокол на основе XML, тогда как Open Id Connect основан на JSON и удобен для браузера / мобильных устройств. В любой современной архитектуре используйте OIDC. См. Также это резюме.
По-прежнему можно интегрировать поставщиков удостоверений SAML в архитектуру OIDC, используя функции федерации сервера авторизации. Однако фактический код вашего приложения не должен ничего знать о SAML - он должен работать только с токенами OAuth 2.0 после входа в систему.
Если возможно, я бы полностью избегал SAML.