https://github.com/adambien/jwtenizr
JWT Token Dispenser
https://github.com/adambien/jwtenizr
authentication authorization jakartaee java javaee jwt microprofile
Last synced: 11 months ago
JSON representation
JWT Token Dispenser
- Host: GitHub
- URL: https://github.com/adambien/jwtenizr
- Owner: AdamBien
- Created: 2019-05-08T13:35:28.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-01-25T11:02:55.000Z (over 2 years ago)
- Last Synced: 2025-07-29T22:25:25.729Z (11 months ago)
- Topics: authentication, authorization, jakartaee, java, javaee, jwt, microprofile
- Language: Java
- Homepage: https://jwtenizr.sh
- Size: 85 KB
- Stars: 47
- Watchers: 7
- Forks: 14
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# JWTenizr
jwtenizr creates tokens and ready to use microprofile configuration.
## installation
Download the executable and self-contained [jwtenizr.jar](https://github.com/AdamBien/jwtenizr/releases/latest) and execute:
`java -jar jwtenizr.jar`
## usage
### initial run
`java -jar jwtenizr.jar` creates:
- `jwtenizr-config.json` with public, private key and target folder of `microprofile-config.properties`
- `jwt-token.json`: with [Minimum MP-JWT Required Claims](https://www.eclipse.org/community/eclipse_newsletter/2017/september/article2.php), a sample principal and a few groups
- `token.jwt`: with information loaded from: `jwt-token.json` and can be used as input for automated system tests
- `microprofile-config.properties` comprising the public key an the issuer: copy to your `WAR/src/main/resources/META-INF`
- `curl` command: with `Authorization` header and included token:
```curl -i -H'Authorization: Bearer eyJraW¢...(generated JWT token)' http://localhost:8080[RESOURCE and SUB-RESOURCES]```
### customizations
- Adjust the `groups[]` to configure roles and `upn` to change the principal in `jwt-token.json` then re-execute JWTenizr
- Add additional claims by extending: `jwt-token.json`
Note: The iss in `jwt-token.json` has to correspond with the `mp.jwt.verify.issuer` in `microprofile-config.properties`
## run from anywhere
A a shell script:
```shell
#!/bin/bash
BASEDIR=$(dirname $0)
java -jar ${BASEDIR}/jwtenizr.jar "$@"%
```
will install JWTenizr "globally". Now you can launch JWTenizr from any directory you like
## in action
[](https://www.youtube.com/embed/twXqCoYQ16c?rel=0)