Что такое 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.

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

Powerpoint   LLM   FreeBSD   QGIS   Elasticsearch   Dnsmasq   Python   OOM Killer   Remote Desktop Gateway   MBR   GPT (диск)   Fail2ban   Memcached   BIND   Cassandra   InfluxDB   Драйвер   Оперативная память   Consul   Grafana  
.....

Реклама