https://github.com/spliterash/keycloakstuff
https://github.com/spliterash/keycloakstuff
Last synced: 10 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/spliterash/keycloakstuff
- Owner: Spliterash
- Created: 2024-08-23T09:03:24.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-05-15T17:10:03.000Z (about 1 year ago)
- Last Synced: 2025-06-11T04:13:17.056Z (12 months ago)
- Language: Java
- Size: 74.2 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# KeycloakStuff
Мой плагин для keycloak, с недостающим мне функционалом. На данный момент включает в себя:
* Аунтефикатор `idp-find-existing-broker-user` - Полная копия `idp-detect-existing-broker-user`, за исключение того, что
вместо ошибки, просто пропускает этап
* Аунтефикатор `idp-set-attribute-from-query` - Позволяет прокинуть аттрибуты пользователя через query параметры при
первом входе через социальные штуки. Проще говоря, если в урле будет username=aboba, то пользователю автоматом
подставится это имя, в случае регистрации через например гугл
`/realms/{realm}/protocol/openid-connect/auth?username=aboba1234`
* Аунтефикатор `block-google-workspace` - Блокирует логины Google Workspace аккаунтов (любой `hd` claim в id_token).
Пропускает только личные Google-аккаунты (`@gmail.com` и т.п.). Использовать в First Broker Login flow
* Ключ локализации ошибки: `spliterash.authenticator.google-workspace-blocked-error`
* Валидатор `cooldown-validator` - Позволяет ограничить частоту смены какого либо поля пользователем, при этом
администратор ограничению не подвергается
* Ключ локализации: `spliterash.validation.cooldown-validation-error` (можно переопределить
через Realm -> Localization -> Realm overrides)
Например: 'Вы сможете обновить {{0}} только через {{1}} секунд'
* Валидатор `http-request-validator` - Позволяет организовать валидацию проперти через api вызов. Осторожно, значение
настроек передаётся клиенту, мне впадлу это исправлять для своего случая
* Расширение ресурса пользовательских аккаунтов
* `DELETE` `https://example.com/realms/{realm}/spliterash-account-extension/applications/{client}/access`
Отозвать доступ к сессии у внутреннего клиента (ПОЧЕМУ ЭТОГО НЕТ В КОРОБКЕ ???)