https://github.com/sevensource/magnolia-module-keycloak-security
Keycloak SSO integration for Magnolia CMS 5.5, 5.6
https://github.com/sevensource/magnolia-module-keycloak-security
jaas keycloak magnolia magnolia-cms sso
Last synced: about 1 year ago
JSON representation
Keycloak SSO integration for Magnolia CMS 5.5, 5.6
- Host: GitHub
- URL: https://github.com/sevensource/magnolia-module-keycloak-security
- Owner: sevensource
- License: gpl-3.0
- Created: 2017-07-06T17:14:31.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-02-17T17:29:54.000Z (over 8 years ago)
- Last Synced: 2024-04-16T10:59:09.210Z (about 2 years ago)
- Topics: jaas, keycloak, magnolia, magnolia-cms, sso
- Language: Java
- Homepage:
- Size: 37.1 KB
- Stars: 2
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/sevensource/magnolia-module-keycloak-security/tags)
[](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.sevensource.magnolia%22%20AND%20a%3A%22magnolia-module-keycloak-security%22)
[](https://github.com/sevensource/magnolia-module-keycloak-security/blob/master/LICENSE)
magnolia-module-keycloak-security
================================
[Keycloak](http://www.keycloak.org/) SSO/IAM integration for [Magnolia](http://www.magnolia-cms.com) 5.5, 5.6
This module delegates authentication - in addition to Magnolias builtin authentication mechanisms - to Keycloak.
This module delegates authentication - in addition to Magnolias builtin authentication mechanisms - to Keycloak.
**Contributions welcome!**
Installation
=============
* create a client in Keycloak with *Direct Access Grants* enabled
* export the configuration in *Keycloak OIDC JSON* format from the *Installation* tab
* save the configuration file into your projects classpath, i.e. `src/main/resources/keycloak.json`
* configure `src/main/webapp/WEB-INF/config/jaas.config` to include the KeycloakAuthenticationModule:
```
magnolia {
info.magnolia.jaas.sp.jcr.JCRAuthenticationModule optional realm=system;
org.sevensource.magnolia.keycloak.security.KeycloakLoginModuleAdapter requisite realm=external skip_on_previous_success=true;
info.magnolia.jaas.sp.jcr.JCRAuthorizationModule required;
};
```
* for further JAAS configuration options, see
- http://docs.oracle.com/javase/8/docs/api/javax/security/auth/login/Configuration.html
- https://documentation.magnolia-cms.com/display/DOCS/NTLM+Connector+module
- https://documentation.magnolia-cms.com/display/DOCS/LDAP+Connector+module
- https://documentation.magnolia-cms.com/display/DOCS/CAS+module
- http://docs.oracle.com/javase/8/docs/technotes/guides/security/jaas/JAASRefGuide.html
Configuration
=============
All additional configuration is stored in Magnolias JCR.
* login into magnolia using the `superuser` account
* go into Configurations App and navigate to `/modules/keycloak-security/config` and add your keycloakConfigFile, i.e. `classpath:keycloak.json`
* the module features a RoleMapper, which maps Keycloak roles to Magnolia roles. It is configured in `/modules/keycloak-security/config/roleMapper`.
* the module installs a UserManager into `/server/security/userManagers/external` which can be used as an extension point for customisation