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.

Другие вопросы по тегам