Перейти до основного вмісту

Огляд

У цьому розділі ми покажемо вам, як підключити ваш додаток до 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-сервісі. 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:

  1. The protocol is simple, easy to implement, and can address many authentication scenarios.
  2. Він має високий рівень зрілості та широку підтримку спільноти.

Таким чином, ваш додаток буде спілкуватися з 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 через Casdoor SDK вимагає більше часу, ніж використання стандартної бібліотеки 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

Пропозиції:

  1. Протокол потужний і охоплює багато сценаріїв, що робить його одним з найбільш комплексних протоколів SSO.
  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. Ви можете побачити всі додатки у Таблиці інтеграцій.