Выбор протокола подключения приложения к Blitz Identity Provider

При выборе протокола взаимодействия рекомендуется учитывать следующее:

  • SAML 1.0/1.1/2.0 – широко распространенный протокол, позволяющий подключить практически любое популярное корпоративное ПО или облачное приложение к сервису входа. Например, Microsoft Office 365, G Suite (ранее – Google Apps для бизнеса), Salesforce.com. Приложение также может поддерживать SAML в качестве дополнительной опцией или может потребовать установки интеграционного коннектора/плагина. Например, таким образом производится интеграция с Atlassian JIRA.

  • OIDC 1.0 / OAuth 2.0 – более современный протокол аутентификации, изначально ориентированный на работу с веб-приложениями в сети Интернет. Если вы создаете новое приложение, то гораздо проще подключить его к сервису авторизации по OIDC.

Таким образом, выбор протокола во многом зависит от того, какое приложение требуется подключить:

  • если приложение поддерживает один из протоколов – то стоит подключать его с использованием данного протокола;
  • если предложение не поддерживает протоколы, то следует провести его доработку – в этом случае проще поддержать взаимодействие по OIDC;
  • если приложение не может быть доработано, то можно подключить его через web-proxy;
  • если приложение только создается, то на этой стадии целесообразно поддержать один из SSO-протоколов – поддержку OIDC реализовать проще, однако при использовании доступных библиотек SAML можно использовать и этот протокол.

В таблице ниже приведены некоторые особенности протоколов SAML и OIDC.

SAML 1.0/1.1/2.0 OIDC 1.0 / OAuth 2.0
Способ обеспечения доверия между приложением и Blitz Identity Provider Основа доверия – электронная подпись. И запросы на аутентификацию, и ответы – это подписанные XML документы. Основа доверия – секрет приложения (обычно в виде строки), известный Blitz Identity Provider.
Способ взаимодействия Обычно запрос на аутентификацию и ответ проходят через браузер пользователя. Приложение и Blitz Identity Provider могут не иметь сетевой связности. Через браузер пользователя инициируется аутентификация. Для завершения аутентификации серверная часть приложения должна сформировать HTTP-запрос в адрес Blitz Identity Provider.
Получение сведений о пользователе Данные о пользователе содержатся в ответе на запрос на аутентификацию в формате XML. Приложение может получать от Blitz Identity Provider данные только в момент входа пользователя. Приложение обращается к REST-сервису Blitz Identity Provider и получает данные о пользователе в формате json. Приложение может продолжать получать данные о пользователе, даже когда пользователь завершает свою онлайн-сессию.
Поддерживаемые приложения Веб-приложения Веб-приложения и мобильные приложения

В целом, можно сказать, что OIDC позволяет реализовать все основные сценарии SAML, но при этом используется более простой JSON/REST-протокол. Существенное преимущество OIDC – поддержка мобильных приложений.