Перейти к основному содержанию

Обзор

В этом разделе мы покажем вам, как подключить ваше приложение к Casdoor.

Как поставщик услуг (SP), Casdoor поддерживает два протокола аутентификации:

  • OAuth 2.0 (OIDC)
  • SAML

Как провайдер идентификации (IdP), Casdoor поддерживает четыре протокола аутентификации:

  • OAuth 2.0
  • OIDC
  • SAML
  • CAS 1.0, 2.0, 3.0

OAuth 2.0 (OIDC)

Что такое OAuth 2.0?

OAuth 2 - это фреймворк авторизации, который позволяет приложениям, таким как Facebook, GitHub и Casdoor, получать ограниченный доступ к учетным записям пользователей на HTTP-сервисе. Он работает, делегируя аутентификацию пользователя сервису, который хостит учетную запись пользователя, и авторизуя сторонние приложения для доступа к этой учетной записи. OAuth 2 предоставляет потоки авторизации для веб- и настольных приложений, а также мобильных устройств.

Процесс авторизации Casdoor построен на протоколе OAuth 2.0. Мы рекомендуем использовать протокол OAuth 2.0 по следующим причинам:

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

Таким образом, ваше приложение будет общаться с Casdoor через OAuth 2.0 (OIDC). Есть три способа подключения к Casdoor:

Стандартный OIDC клиент

Стандартный OIDC клиент: Используйте стандартную реализацию OIDC клиента, которая широко представлена в любом языке программирования или фреймворке.

Что такое OIDC?

OpenID Connect (OIDC) - это открытый протокол аутентификации, который работает поверх фреймворка OAuth 2.0. Ориентированный на потребителей, OIDC позволяет индивидуальным пользователям использовать единый вход (SSO) для доступа к сайтам сторонних организаций с помощью OpenID провайдеров (OP), таких как почтовый провайдер или социальная сеть, для аутентификации их личности. Он предоставляет приложению или сервису информацию о пользователе, контексте его аутентификации и доступ к информации его профиля.

Casdoor полностью поддерживает протокол OIDC. Если ваше приложение уже использует другого провайдера идентификации OAuth 2.0 (OIDC) через стандартную библиотеку OIDC клиента, и вы хотите мигрировать на Casdoor, использование OIDC discovery сделает переход на Casdoor очень простым.

Casdoor SDK

Casdoor SDK: Для большинства языков программирования Casdoor предоставляет легко используемые библиотеки SDK поверх OIDC, с расширенным функционалом, который доступен только в Casdoor.

По сравнению со стандартным протоколом OIDC, SDK Casdoor предоставляет больше функциональных возможностей, таких как управление пользователями и загрузка ресурсов, среди прочего. Подключение к Casdoor через SDK Casdoor требует больше времени, чем использование стандартной библиотеки OIDC клиента, но оно предлагает лучшую гибкость и самый мощный API.

Плагин Casdoor

Плагин Casdoor: Если ваше приложение построено на популярной платформе (например, Spring Boot, WordPress и т.д.) и Casdoor (или третья сторона) уже предоставили плагин или промежуточное ПО для нее, вам следует его использовать. Использование плагина намного проще, чем ручной вызов SDK Casdoor, потому что первый специально создан для платформы.

Плагины:

Промежуточное ПО:

SAML

Что такое SAML?

Security Assertion Markup Language (SAML) - это открытый стандарт, который позволяет провайдерам идентификации (IdP) передавать учетные данные авторизации поставщикам услуг (SP). Что это жаргон означает, так это то, что вы можете использовать один набор учетных данных для входа на множество различных веб-сайтов. Управление одним входом на пользователя намного проще, чем управление отдельными входами в электронную почту, программное обеспечение для управления взаимоотношениями с клиентами (CRM), Active Directory и т.д.

Транзакции SAML используют Extensible Markup Language (XML) для стандартизированной коммуникации между провайдером идентификации и поставщиками услуг. SAML является связующим звеном между аутентификацией личности пользователя и авторизацией на использование сервиса.

Casdoor может быть использован как SAML IdP. В настоящее время Casdoor поддерживает основные функции SAML 2.0. Для получения дополнительной информации смотрите SAML.

Пример:

Casdoor как SAML IdP в Keycloak

Предложения:

  1. Протокол мощный и охватывает множество сценариев, что делает его одним из самых комплексных протоколов единого входа.
  2. Протокол обширный, с множеством необязательных параметров, поэтому сложно на 100% охватить все сценарии приложений в реальной реализации.
  3. Если приложение новое, не рекомендуется использовать SAML из-за его высокой технической сложности.

CAS

Что такое CAS?

Central Authentication Service (CAS) - это протокол единого входа для веба. Его цель - позволить пользователю получить доступ к нескольким приложениям, предоставляя свои учетные данные (такие как идентификатор пользователя и пароль) только один раз. Он также позволяет веб-приложениям аутентифицировать пользователей, не получая доступ к их учетным данным безопасности, таким как пароль.

Casdoor реализовал функции CAS 1.0, 2.0 и 3.0. Для получения дополнительной информации смотрите CAS.

Предложения:

  1. Сам протокол относительно легкий и простой в реализации, но может решить только один сценарий.
  2. Взаимное доверие между CAS клиентом и CAS сервером устанавливается через вызов интерфейса без каких-либо механизмов шифрования или подписи для обеспечения дополнительной безопасности.
  3. Протокол CAS не имеет преимуществ перед другими протоколами.

Таблица интеграций

Некоторые приложения уже имеют примеры подключения к Casdoor. Вы можете следовать документации, чтобы быстро подключиться к Casdoor. Вы можете увидеть все приложения в Таблице интеграций.