Что такое Keycloak

Обновлено Обновлено: Опубликовано Опубликовано:

Keycloak —
простыми словами

приложение для реализации единой точки аутентификации и авторизации. Данную технологию единого входа также называют Single Sign-On или, сокращенно, SSO. А подобные сервисы имеют общее название "Система управления идентификацией и доступом" или Identity and Access Management (IAM).

Keycloak может предоставить возможность пользователям получать права для различных приложений, пройдя один раз процесс аутентификации. Разработчикам не нужно для этого писать много кода. А инженеры DevOps могут настроить аутентификацию через общую базу пользователей для приложений, у которых нет дополнительных механизмов интеграции.

Среди функций и возможностей выделяют:

  • SSO.
  • Выдачу токенов.
  • Двухфакторную аутентификацию.
  • Авторизацию через социальные сети.
  • Возможность интеграции со службами каталогов.
  • Автоматическую аутентификацию с использованием тикетов Kerberos.
  • Управление разными изолированными средами (Realm) со своими настройками.
  • Свой интерфейс для регистрации и аутентификации пользователей с возможностью настройки внешнего вида.

Keycloak имеет клиент-серверную инфраструктуру. В качестве сервера используется готовый пакет, устанавливаемый на операционную систему (есть поддержка Linux, Windows) или docker-приложение. В качестве клиента используется адаптер — блок кода, который должен использовать разработчик для интеграции своего приложения с сервером.

Поддерживается два стандарта обмена данными аутентификации и авторизации: OpenID Connect и SAML. В зависимости от данного стандарта Keycloak предлагает готовые шаблоны адаптеров для языков программирования, платформ или приложений а также их фреймворков/расширений:

1. Для OpenID Connect:

  • Java (Spring Boot, Wildfly Elytron OIDC).
  • JavaScript.
  • Node.js.
  • C#.
  • Python.
  • Android/iOS.
  • Apache Web Server (mod_auth_openidc).

2. Для SAML:

  • Java.
  • Apache Web Server (mod_auth_mellon).

Подробнее о поддерживаемых языках можно почитать в официальной документации.

Среди аналогов можно выделить:

  1. CASDOOR.
  2. RooX UIDM.
  3. OpenAM. 

Еще немного о Keycloak на Википедии



Дмитрий Моск
— IT-специалист.
Настройка серверов, услуги DevOps.

Другие термины

Кэширование   Ubuntu   Mail.ru   HDMI   Домен   Zimbra   USB   Postfix   Сетевой шлюз   DNSSEC   DFS   Roundcube   IAX   Ping   Gradle   Драйвер   BitBucket   Freeradius   Asterisk   Samba  
.....

Реклама