OpenID Connect для интеграции с поставщиками удостоверений
OpenID Connect (OIDC) интегрирует Qlik Cloud с поставщиками удостоверений, добавляя уровень для аутентификации пользователей в дополнение к протоколу OAuth 2.0. Это обеспечивает безопасный единый вход (SSO), благодаря чему пользователи могут один раз войти в систему и получить доступ к нескольким приложениям и веб-сайтам без повторной аутентификации.
OAuth 2.0 и OIDC
OAuth 2.0 предназначен только для авторизации. Он позволяет одному приложению предоставлять другому приложению доступ к своим данным или функциям с помощью защищенного токена, не раскрывая учетные данные пользователя. Токен обеспечивает ограниченный доступ, гарантируя, что вы поделитесь только той информацией, которой согласны поделиться. Токен можно отозвать в любое время.
OAuth 2.0 не включает информацию, идентифицирующую пользователя. OpenID Connect (OIDC) расширяет возможности этой технологии за счет внедрения токенов идентификации, которые содержат данные для входа пользователей в систему и информацию о профиле. Эти токены позволяют различным клиентам (веб-клиентам, мобильным клиентам, JavaScript и другим) проверять удостоверение пользователя на основе проверки подлинности, выполненной сервером авторизации. Клиенты также могут запрашивать основную информацию о пользователе из профиля.
Для ознакомления с OAuth и OIDC посмотрите видео: Иллюстрированное руководство по OAuth и OpenID Connect.
Токены идентификации
Токены идентификации, используемые в OpenID Connect (OIDC), обеспечивают проверку подлинности пользователей и содержат подробную информацию о них, такую как идентификационные данные и сведения о профиле. Обычно используются токены формата JWT (JSON Web Tokens), которые поддерживают различные алгоритмы подписи и шифрования.
Токены идентификации содержат утверждения ― это элементы данных о пользователе, такие как его идентификатор, имя, время входа в систему и признаки несанкционированного доступа. Утверждения в токенах идентификации предоставляют приложению необходимые данные для удостоверения личности пользователя и упрощения единого входа (SSO). Спецификация OIDC определяет стандартный набор утверждений, включая имя, электронную почту, пол и дату рождения. Можно добавить пользовательские утверждения, чтобы включить дополнительную информацию о пользователях, если это необходимо. Получение токенов идентификации, выданных сервером авторизации после успешной проверки подлинности пользователя, осуществляется через потоки OAuth 2.0, после чего они применяются как к веб-приложениям, так и к мобильным приложениям.
Для защиты конфиденциальной информации, такой как персональная идентифицирующая информация, можно использовать зашифрованные токены идентификации. Шифрование помогает предотвратить несанкционированный доступ и обеспечивает конфиденциальность и безопасность.
Токены доступа
Токены доступа используются в OAuth 2.0 для авторизации. Они позволяют приложению получать доступ к определенным данным или функциям от имени пользователя. Токен доступа может иметь формат JWT (JSON Web Token) или другой формат. Он служит в качестве учетной записи, информирующей API о согласии пользователя и о предоставленных разрешениях. В отличие от токенов идентификации, токены доступа не включают в себя идентификационную информацию о пользователе; они просто предоставляют доступ к указанным ресурсам.
Спецификация OpenID Connect
Спецификация OpenID Connect 1.0 состоит из нескольких документов, определяющих ее основные функции и дополнительные возможности. Qlik поддерживает эту спецификацию, но может поддерживать не все реализации, специфичные для конкретного поставщика. Однако Qlik может предоставлять удобные конфигурации для популярных платформ управления удостоверениями.
Ключевые документы спецификации включают:
- OpenID Connect Core (Основные функции OpenID Connect): определяет основные функции OIDC, включая проверку подлинности на основе OAuth 2.0 и использование утверждений для обмена информацией о пользователях.
- OpenID Connect Discovery (Обнаружение OpenID Connect) (необязательно): определяет, как клиенты динамически обнаруживают информацию о поставщиках OpenID.
- OpenID Connect Dynamic Client Registration (Динамическая регистрация клиентов OpenID Connect) (необязательно): определяет, как клиенты динамически регистрируются на платформе поставщиков OpenID.
- OAuth 2.0 Multiple Response Types (Несколько типов ответов OAuth 2.0): определяет специфические новые типы ответов OAuth 2.0.
- OAuth 2.0 Form Post Response Mode (Режим ответа POST формы OAuth 2.0) (необязательно): определяет, как возвратить параметры ответа авторизации OAuth 2.0, используя значения HTML-формы, которые автоматически отправляются с помощью HTTP POST
- OpenID Connect Session Management (Управление сеансами OpenID Connect) (необязательно): определяет, как управлять сеансами OIDC, включая функции основанного на postMessage выхода из системы и инициируемого проверяющей стороной (RP) выхода из системы
- OpenID Connect Front-Channel Logout (Выход переднего канала OpenID Connect) (необязательно): определяет механизм выхода переднего канала, который не использует iframe поставщика OpenID (OP) на страницах проверяющей стороны (RP)
- OpenID Connect Back-Channel Logout (Выход заднего канала OpenID Connect) (необязательно): определяет механизм выхода из системы, который использует прямую коммуникацию обратного канала информации между поставщиком OpenID (OP) и проверяющими сторонами (RP), выходящим из системы
- OpenID Connect Federation (Федерация OpenID Connect) (необязательно): определяет, как наборы OP и RP могут установить доверительные отношения путем использования оператора федерации
Для получения этих документов перейдите на сайт Добро пожаловать в OpenID Connect.