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

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

Видеокарта   Бэд-сектор   RTSP   Java   Kubernetes   USB   Сервер   UEFI   Жесткая ссылка   VideoUnion   S.M.A.R.T.   Dovecot   Docker   HTML   Сетевой шлюз   PAM   NetBIOS   SARG   Блок питания компьютера   Плагин  
.....

Реклама