Site icon IT Draft

Настройка oAuth авторизации через Keycloak+FreeIPA в DokuWiki

Настройка oAuth авторизации через Keycloak+FreeIPA в DokuWiki 1

oAuth Keycloak + DokuWiki + FreeIPA

OAuth — открытый протокол авторизации, который позволяет предоставить третьей стороне ограниченный доступ к защищённым ресурсам пользователя без необходимости передавать ей логин и пароль.

Настройка User federation с FreeIPA в Keycloak

В вэб-админке Keycloak создаем новую область (realm), например myrealm, и переходим в раздел User federation. Там добавляем LDAP-провайдера

Вкладка Settings:

Вкладка Settings:
Console display name: freeipa.itdraft.ru
Vendor: Red Hat Directory Server
Connection URL: ldap://freeipa.itdraft.ru

# Во FreeIPA должен быть заведен пользователей keycloak с паролем mypass
Bind DN: uid=keycloak,cn=users,cn=accounts,dc=itdraft,dc=ru
Bind credentials: mypass
Edit mode: READ_ONLY
Users DN: cn=users,cn=accounts,dc=itdraft,dc=ru
Username LDAP attribute: uid
RDN LDAP attribute: uid
UUID LDAP attribute: uid
User object classes: inetOrgPerson, organizationalPerson

# [разрешаем доступ для группы gr-keycloak
User LDAP filter: (&(objectclass=person)(uid=*)(memberOf=cn=gr-keycloak,cn=groups,cn=accounts,dc=itdraft,dc=ru))

Проверяем подключение, сохраняем

Вкладка Mappers > first name

Selectel — ведущий провайдер облачной инфраструктуры и услуг дата-центров

Компания занимает лидирующие позиции на рынке на рынке выделенных серверов и приватных облаков, и входит в топ-3 крупнейших операторов дата-центров в России.


LDAP Attribute: givenname

Сохраняем

Создаем клиента для dokuwiki: переходим в раздел Clients и создаем нового клиента (Create client)

General Settings
Client type: OpenID Connect
Client ID: dokuwiki #Понадобится для настройки плагина в dokuwiki

Capability config
Client authentication: On
Authentication flow: All

Сохраняем, переходим в настройки клиента dokuwiki

Вкладка Settings
Valid redirect URIs: https://dokuwiki.itdraft.ru/*

Вкладка Credentials
Client Authenticator: Client Id and Secret
Client secret: ... #Понадобится для настройки плагина в dokuwiki

Настройка Keycloak завершена

Настройка DokuWiki

Авторизуемся в Dokuwiki, переходим в Управление > Управление дополнениями > Поиск и установка

Ищем дополнение: oAuth

Устанавливаем плагины:

Переходим в Управление > Настройки вики

Механизм аутентификации: oauth
...
Oauth
Register authenticated users even if self-registration is disabled in main configuration: yes
...
Oauthkeycloak
Client ID: dokuwiki #Из настроек клиента в Keycloak
Cient Secret: ... #Из настроек клиента в Keycloak
OpenID Connect Auto Discovery URL: https://keycloak.itdraft.ru:8443/realms/myrealm/.well-known/openid-configuration

Переходим в профиль пользователя и разрешаем авторизацию через Keycloak

Exit mobile version