Обзор
В этом разделе мы покажем вам, как подключить ваше приложение к Casdoor.
Как поставщик услуг (SP), Casdoor поддерживает два протокола аутентификации:
OAuth 2.0 (OIDC)SAML
Как провайдер идентификации (IdP), Casdoor поддерживает четыре протокола аутентификации:
OAuth 2.0OIDCSAMLCAS 1.0, 2.0, 3.0
OAuth 2.0 (OIDC)
Что такое OAuth 2.0?
OAuth 2 - это фреймворк авторизации, который позволяет приложениям, таким как Facebook, GitHub и Casdoor, получать ограниченный доступ к учетным записям пользователей на HTTP-сервисе. It works by delegating user authentication to the service that hosts the user account and authorizing third-party applications to access that account. OAuth 2 provides authorization flows for web applications, desktop applications, and mobile devices.
Процесс авторизации Casdoor построен на протоколе OAuth 2.0. We recommend using OAuth 2.0 for the following reasons:
- The protocol is simple, easy to implement, and can address many authentication scenarios.
- Он имеет высокий уровень зрелости и обширную поддержку сообщества.
Таким образом, ваше приложение будет общаться с Casdoor через OAuth 2.0 (OIDC). Есть три способа подключения к Casdoor:
Стандартный OIDC клиент
Standard OIDC client: Use a standard OIDC client implementation, which is widely available in any programming language or framework.
Что такое OIDC?
OpenID Connect (OIDC) - это открытый протокол аутентификации, который работает поверх фреймворка OAuth 2.0. Targeted toward consumers, OIDC allows individuals to use single sign-on (SSO) to access relying party sites using OpenID Providers (OPs), such as email providers or social networks, to authenticate their identities. It provides applications or services with information about the user, the context of their authentication, and access to their profile information.
Casdoor полностью поддерживает протокол OIDC. Если ваше приложение уже использует другого провайдера идентификации OAuth 2.0 (OIDC) через стандартную библиотеку OIDC клиента, и вы хотите мигрировать на Casdoor, использование OIDC discovery сделает переход на Casdoor очень простым.
Casdoor SDK
Casdoor SDKs: For most programming languages, Casdoor provides easy-to-use SDK libraries built on top of OIDC, with extended functionality that is only available in Casdoor.
Compared to the standard OIDC protocol, Casdoor's SDK provides additional functionality, such as user management and resource uploading. Подключение к Casdoor через SDK Casdoor требует больше времени, чем использование стандартной библиотеки OIDC клиента, но оно предлагает лучшую гибкость и самый мощный API.
Плагин Casdoor
Casdoor plugin: If your application is built on top of a popular platform (such as Spring Boot, WordPress, etc.) and Casdoor (or a third party) has already provided a plugin or middleware for it, you should use it. Using a plugin is much easier than manually invoking the Casdoor SDK because plugins are specifically designed for their target platform.
Плагины:
Промежуточное ПО:
SAML
Что такое SAML?
Security Assertion Markup Language (SAML) - это открытый стандарт, который позволяет провайдерам идентификации (IdP) передавать учетные данные авторизации поставщикам услуг (SP). This means you can use one set of credentials to log into many different websites. It's much simpler to manage one login per user than to manage separate logins for email, customer relationship management (CRM) software, Active Directory, etc.
Транзакции SAML используют Extensible Markup Language (XML) для стандартизированной коммуникации между провайдером идентификации и поставщиками услуг. SAML является связующим звеном между аутентификацией личности пользователя и авторизацией на использование сервиса.
Casdoor может быть использован как SAML IdP. В настоящее время Casdoor поддерживает основные функции SAML 2.0. Для получения дополнительной информации смотрите SAML.
Пример:
Casdoor как SAML IdP в Keycloak
Предложения:
- Протокол мощный и охватывает множество сценариев, что делает его одним из самых комплексных протоколов единого входа.
- Протокол обширный, с множеством необязательных параметров, поэтому сложно на 100% охватить все сценарии приложений в реальной реализации.
- Если приложение новое, не рекомендуется использовать SAML из-за его высокой технической сложности.
CAS
Что такое CAS?
Central Authentication Service (CAS) - это протокол единого входа для веба. Его цель - позволить пользователю получить доступ к нескольким приложениям, предоставляя свои учетные данные (такие как идентификатор пользователя и пароль) только один раз. Он также позволяет веб-приложениям аутентифицировать пользователей, не получая доступ к их учетным данным безопасности, таким как пароль.
Casdoor реализовал функции CAS 1.0, 2.0 и 3.0. Для получения дополнительной информации смотрите CAS.
Предложения:
- Сам протокол относительно легкий и простой в реализации, но может решить только один сценарий.
- Взаимное доверие между CAS клиентом и CAS сервером устанавливается через вызов интерфейса без каких-либо механизмов шифрования или подписи для обеспечения дополнительной безопасности.
- Протокол CAS не имеет преимуществ перед другими протоколами.
Таблица интеграций
Некоторые приложения уже имеют примеры подключения к Casdoor. Вы можете следовать документации, чтобы быстро подключиться к Casdoor. Вы можете увидеть все приложения в Таблице интеграций.