Огляд
У цьому розділі ми покажемо вам, як підключити ваш додаток до 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 з наступних причин:
- Протокол простий і легкий у впровадженні, і може вирішити багато сценаріїв.
- Він має високий рівень зрілості та широку підтримку спільноти.
Таким чином, ваш додаток буде спілкуватися з 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 через Casdoor SDK вимагає більше часу, ніж використання стандартної бібліотеки OIDC клієнта, але воно пропонує найкращу гнучкість та найбільш потужний API.
Плагін Casdoor
Плагін Casdoor: Якщо ваш додаток побудований на основі популярної платформи (як-от Spring Boot, WordPress тощо) і Casdoor (або третя сторона) вже надав плагін або проміжне програмне забезпечення для неї, вам слід його використовувати. Використання плагіна набагато простіше, ніж ручне викликання Casdoor SDK, оскільки перший спеціально створений для платформи.
Плагіни:
Проміжне програмне забезпечення:
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
Пропозиції:
- Протокол потужний і охоплює багато сценаріїв, що робить його одним з найбільш комплексних протоколів SSO.
- Протокол великий, з багатьма необов'язковими параметрами, тому важко 100% охопити всі сценарії застосування в реальній реалізації.
- Якщо додаток новорозроблений, SAML не рекомендується через його високу технічну складність.
CAS
Що таке CAS?
Central Authentication Service (CAS) - це протокол єдиного входу для вебу. Його мета - дозволити користувачу отримати доступ до кількох додатків, надаючи свої облікові дані (такі як ідентифікатор користувача та пароль) лише один раз. Він також дозволяє веб-додаткам аутентифікувати користувачів без доступу до їхніх безпекових облікових даних, таких як пароль.
Casdoor реалізував функції CAS 1.0, 2.0 та 3.0. Для отримання додаткової інформації дивіться CAS.
Пропозиції:
- Сам протокол відносно легкий і простий у впровадженні, але може вирішити лише один сценарій.
- Взаємна довіра між CAS клієнтом та CAS сервером встановлюється через виклик інтерфейсу без будь-якого механізму шифрування або підпису для забезпечення додаткової безпеки.
- Протокол CAS не має переваг перед іншими протоколами.
Таблиця інтеграцій
Деякі додатки вже мають приклади, які підключаються до Casdoor. Ви можете слідувати документації, щоб швидко підключитися до Casdoor. Ви можете побачити всі додатки у Таблиці інтеграцій.