Аутентификация API REST с помощью SAML

Я изо всех сил пытаюсь разработать SAML2.0 проверка подлинности для REST API с помощью шлюза. REST используется между моим бэкэндом и моим приложением. Я использую Java Servlet filter и Spring.

Я вижу два варианта:

  1. добавление маркеров SAML в заголовок каждый раз.

  2. аутентификация один раз с SAML, а затем с помощью сеанса или аналогичного (безопасный разговор) между клиентом и ворота.

Пример 1: это хорошее решение, потому что мы все еще спокойны, но:

  • маркеры SAML довольно большие. Это может создать проблему из-за большого размера заголовка.
  • воспроизведение токенов-не лучший способ для обеспечения безопасности.

Пример 2: это больше не без гражданства, и я должен управлять ссылкой с клиентом. Поскольку я использую шлюз, базовые службы все еще могут быть RESTful.

случай 2 ищет лучший выбор, несмотря на то, что он не следует ограничениям rest.

кто-то уже должен был это сделать и дать мне несколько указателей (для проектирования или реализации)?

есть ли лучший способ сделать это с SAML?

любая помощь или советы приветствуются.

1 ответов


Это все еще черновик, но: профиль носителя OAuth2 SAML может быть возможным решением. http://tools.ietf.org/html/draft-ietf-oauth-saml2-bearer-17

используйте SAML2 для аутентификации у поставщика OAuth2, затем вызовите свою службу с помощью маркера OAuth2.