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

6 постів з тегом "OIDC"

Переглянути всі теги

Jenkins OIDC, Gitea OIDC and Grafana SSO with Casdoor: One Login for a Self-Hosted DevOps Stack

· Читання за 9 хв
Yang Luo
Casdoor Maintainer

Every tool in a typical self-hosted DevOps stack can act as an OpenID Connect client: Gitea and Argo CD speak OIDC natively, Jenkins does through the oic-auth plugin, Grafana and Portainer through generic OAuth 2.0, and MinIO, Harbor and GitLab through their OIDC settings. Point all of them at one Casdoor instance, give each tool its own Casdoor application, and put your people in Casdoor groups. Each tool then reads the groups claim and decides who is an administrator. This post lists the callback URL, the config keys and the group mapping for each tool, then covers the parts they share.

Автентифікація CAS та SSO через Nginx: захист будь-якого додатка за допомогою Casdoor та Nginx

· Читання за 10 хв
Yang Luo
Casdoor Maintainer

У відкритому коді nginx немає модуля CAS, тому "автентифікація CAS через nginx" на практиці означає одну з двох конфігурацій. Або nginx запитує сервіс автентифікації про кожен запит через свій модуль auth_request, а Casdoor відповідає (безпосередньо на /api/forward-auth або через casdoor-forward-auth чи OAuth2 Proxy), або сам додаток за nginx є CAS-клієнтом і спілкується з ендпоінтами CAS-сервера Casdoor. Якщо ви можете перебудувати nginx, модуль Casdoor для nginx виконує вхід всередині nginx, а якщо ви не хочете взагалі використовувати nginx, проксі-сайт Casdoor може стояти перед додатком. В усіх випадках сторінка входу належить Casdoor, тому одна сесія SSO, один набір дозволів та одна політика MFA покривають всі додатки.

RP-Initiated Logout та SSO Logout в OpenID Connect: Як Casdoor виходить із системи користувачів

· Читання за 10 хв
Yang Luo
Casdoor Maintainer

Для виходу користувача з додатку OpenID Connect недостатньо просто видалити власну сесійну куку. Користувач залишається авторизованим у провайдері ідентифікації, тому наступне натискання "Sign in" пройде без введення пароля, а інші додатки, які спільно використовують цю сесію провайдера ідентифікації, також залишаться авторизованими. Повноцінний вихід складається з трьох частин: очистка локальної сесії вашого додатку, перенаправлення браузера на end_session_endpoint провайдера (RP-initiated logout), щоб завершити сесію провайдера, та отримання повідомлень від провайдера іншими додатками через back-channel logout. У Casdoor ендпоінт завершення сесії — це /api/logout, back-channel logout налаштовується для кожного додатку окремо, а refresh токени можна відкликати через /api/login/oauth/revoke.

SSO для Spring Boot через OpenID Connect: Spring Security, Resource Server та Spring Cloud Gateway з Casdoor

· Читання за 12 хв
Yang Luo
Casdoor Maintainer

Щоб додати єдиний вхід (SSO) до Spring Boot, зареєструйте кожен додаток як application в провайдері OpenID Connect, наприклад Casdoor, вкажіть Spring Security URL емітента провайдера та оберіть модуль Spring, що відповідає вашому додатку: oauth2Login() для серверного рендерингу веб-додатків, oauth2ResourceServer().jwt() для REST API, який отримує bearer-токени, і Spring Cloud Gateway з фільтром TokenRelay, коли один шлюз здійснює вхід користувачів для набору мікросервісів. Користувачі отримують SSO, оскільки кожен додаток пересилає їх до того самого Casdoor, який запам'ятовує сесію: другий додаток виконує редирект, Casdoor вже знає користувача, і він повертається без форми входу. У цій статті налаштовано всі три варіанти проти одного Casdoor, кожен із робочим application.yml та кастомізованим SecurityFilterChain.

DolphinScheduler, IoTDB та інші платформи даних Apache: SSO з Casdoor

· Читання за 9 хв
Yang Luo
Casdoor Maintainer

Кілька проектів Apache для роботи з даними та проміжного ПЗ мають власну інтеграцію входу через Casdoor: Apache DolphinScheduler має тип автентифікації CASDOOR_SSO (починаючи з 3.2.0) та загальний режим OIDC (починаючи з 3.4.0), Apache ShenYu має плагін Casdoor (починаючи з 2.5.1), Apache Pulsar Manager має кнопку "Log in with Casdoor" (починаючи з 0.3.0), а Apache APISIX має плагін authz-casdoor (починаючи з 2.14.0). Винятком є Apache IoTDB: сама база даних автентифікується за допомогою власних користувачів і паролів, і лише вже архівований IoTDB Web Workbench взаємодіє з Casdoor. У таблиці нижче перелічено кожен проект, версію та де знаходяться налаштування; друга частина посту покроково налаштовує автентифікацію користувачів в IoTDB.

Steam OAuth та Telegram OAuth з Casdoor: Додавання нестандартних соціальних входів через OIDC

· Читання за 9 хв
Yang Luo
Casdoor Maintainer

Не існує "Steam OAuth": Steam автентифікує користувачів за допомогою OpenID 2.0 і надає вам 64-бітний SteamID, і більше нічого. Класичний Login Widget Telegram також не є OAuth: він передає вашій сторінці набір полів користувача плюс хеш HMAC-SHA256, який ви перевіряєте за допомогою токена бота. Зараз Telegram також запускає справжнього провайдера OpenID Connect за адресою oauth.telegram.org. Якщо ви поставите Casdoor між вашим додатком і цими провайдерами, Casdoor виконає специфічні для протоколу перевірки, а ваш додаток завжди спілкуватиметься з Casdoor лише через OpenID Connect, так само як це було б для Google або GitHub.