https://github.com/toolisticon/keycloak-gdpr-module
https://github.com/toolisticon/keycloak-gdpr-module
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/toolisticon/keycloak-gdpr-module
- Owner: toolisticon
- License: mit
- Created: 2019-02-27T13:29:43.000Z (over 7 years ago)
- Default Branch: develop
- Last Pushed: 2023-12-15T15:04:56.000Z (over 2 years ago)
- Last Synced: 2025-03-25T19:12:27.701Z (about 1 year ago)
- Language: Java
- Size: 106 MB
- Stars: 5
- Watchers: 3
- Forks: 2
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/toolisticon/keycloak-gdpr-module/actions/workflows/build.yml)
[](https://sonarcloud.io/dashboard?id=toolisticon_keycloak-gdpr-module)
[](https://sonarcloud.io/dashboard?id=toolisticon_keycloak-gdpr-module)
[](https://snyk.io/test/github/toolisticon/keycloak-gdpr-module)
- [Keycloak GDPR Module](#keycloak-gdpr-module)
- [Setup](#setup)
- [Deploy into a standalone keycloak server](#deploy-into-a-standalone-keycloak-server)
- [Development](#development)
- [Local Keycloak server](#local-keycloak-server)
- [Testing](#testing)
- [Performance Tests](#performance-tests)
# Keycloak GDPR Module
A Keycloak module to assist storing data in a GDPR compliant way, using Crypto Shredding.
It stores the users keys and encrypt/decrypt the data, so that cryptographic keys will never
leave the system.
The module is currently a Proof-of-Concept and has not yet been tested in production use cases.
## Setup
Prerequisites:
* JDK 11+
* Docker
Build and start:
```bash
# Start keycloak and MySQL database
docker-compose up -d
# Build the GDPR module
mvn clean package -DskipTests
# Copy the Build artifact into the Keycloak container
.bin/update-spi.sh
```
The Keycloak server will now be available on . You can log into the Administration Console using “**admin**” as both username and password.
## Deploy into a standalone keycloak server
Copy the built artifact from `./deployment/target/gdpr-module-for-keycloak-${project.incremental.version}.ear` into the directory `${keycloak.home}/standalone/deployments` of a keycloak server.
**NOTE:** *If the server is running during deployment you need to restart it!*
## Testing
### Performance Tests
For performance we're using (Gatling)[https://gatling.io/docs/current/quickstart/]:
```
(cd spi/ && ../mvnw gatling:test)
```
### Debugging
To debug the deployed module:
```bash
$ docker compose up
$ .bin/update-spi.sh
```
then connect via Remote Debugging:
```
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:9097
```