17ce79b94eAdded method to test token with different exceptions in addition to the one that returns a boolean that shows if is valid or not
master
Mauro Mugnaini2024-10-24 16:09:48 +0200
27dc8718b8Released version of the gcube `jjwt` lib is now usedMauro Mugnaini2024-10-22 16:45:03 +0200
2dbeb5c6e8Moved from `gxJRS` to `gxHTTP` and internal `jjwt` libMauro Mugnaini2024-10-18 18:46:04 +0200
14e05d71deAdded specific setting to use dynamic scope instead of the custom header when directly requesting a specific context for an OIDC token and related unit tests (#28084)Mauro Mugnaini2024-09-27 13:08:27 +0200
0a1a739ec7- Added support to add scopes in requests in client and constants for d4s-context dynamic scope. (#28084) - Added tests to demonstrate dynamic scopes for clients and for users on both private and public clients (#28084)Mauro Mugnaini2024-09-26 19:32:16 +0200
75810cd113Prepared for `2.2.0-SNAPSHOT` also updating BOMMauro Mugnaini2024-09-26 19:32:09 +0200
Implemented custom deserializer that uses `gcube-jackson-databind` and removes completely the dependency with `jjson-*` deserializersMauro Mugnaini2024-05-07 16:51:34 +0200
Token exchage for an offline token now raises an IllegalArgumetException if the original token not contains `offline_access` within its scopes, required by the `v24.0.2` version of the KeycloakMauro Mugnaini2024-05-06 18:10:26 +0200
Added javadoc for token exchange methods and exchage for an offline token now raises an IllegalArgumetException if the original token not contains `offline_access` within its scopes, required by the `v24.0.2` version of the KeycloakMauro Mugnaini2024-05-06 18:09:40 +0200
Temporary disabling exchange for offline token since with new keycloak original token should be issued with `offline` scope to work and has still to be inroduced the possibility to do itMauro Mugnaini2024-05-03 12:13:41 +0200
Temporary disabling exchange for offline token since with new keycloak original token should be issued with `offline` scope to work and has still to be inroduced the possibility to do itMauro Mugnaini2024-05-03 12:10:07 +0200
Changed to `runtime` `jjwt-impl` dependnecy and moved to `jjwt-gson` as `provided` seems to solve the issue #27377Mauro Mugnaini2024-05-03 12:07:19 +0200
Overloaded methods to disable token expiration, generalized public key generation providing key algorithm and added support of RS384 and RS512 signature algorithms, defaulting to RS256 if not specifiedMauro Mugnaini2024-04-30 18:29:21 +0200
Renamed method `isSignatureValid()` to `isValid()` since it tests also other aspects (exipration, not before, etc...).Mauro Mugnaini2024-04-30 12:55:04 +0200
Added JWT digital signature verification by using the RSA public key of the realm on server. Uses `java-jwt` library by Auth0 [#27340]Mauro Mugnaini2024-04-30 11:48:22 +0200
Added custom base URL set via factory (not automatically working cross environments) [#27234] Better tests for exchange-token featuresMauro Mugnaini2024-04-22 17:50:00 +0200
Added `token-exchange` support, also with `offline-token` scope, and methods to add extra headers during the OIDC token requests.Mauro Mugnaini2024-04-19 17:26:40 +0200
52d70eda60Added new `KeycloakClientHelper` class to perform token request for user in one shot and without the need to provide the `clientId` parameter (#25291). Only `context`, `username` and `password` are required.Mauro Mugnaini2023-07-13 13:09:33 +0200
89c5cf04bdRevised code to avoid method invoked twice and double loggingMauro Mugnaini2023-07-13 13:06:24 +0200
d5ddbfd067Added support of password grant flow (corresponding to the now deprecated OAuth2 flow: Resource Owner Password Credentials grant) also for specific context/audience by using the specific D4S mapper. (#25291)Mauro Mugnaini2023-07-11 13:36:23 +0200
a71f1725a7The library now uses with `2.4.0-SNAPSHOT` version of the BOM and safe set `isExternalCall` to `true` with reflection to be compatible with both old and new `gxJRS` APIsMauro Mugnaini2023-07-10 15:46:48 +0200
5f3e02c6e4Added support for the user of the D4S mapper that maps/shrink the `aud` to the value requested via `X-D4Science-Context` HTTP headerMauro Mugnaini2023-03-23 18:27:24 +0100
168a1d4b35Added predictive infrastructure URL support based on context (and on context and realm if the target realm is not the default one) and overloaded all methods that take the URL as argument with the context (#23655)Mauro Mugnaini2022-07-15 18:19:35 +0200
7ae6a7dcd8Added methods for `token` and `introspect` endpoint construction starting from realm's base URL and related testsMauro Mugnaini2022-06-10 13:48:48 +0200
460b080fcdRemoved the discovery functionality to be compatible with SmartGears.v4 and moved to the new library `keycloak-client-legacy-is` that will provide the backward compatibility. (#23478)Mauro Mugnaini2022-06-08 19:05:40 +0200
d6316c837dFixed right method use to test `active` field in token introspection responseMauro Mugnaini2022-05-20 10:15:34 +0200
6ebb6c6616Added tests for new introspect and isVerified functions (both OIDC and UMA are supported) (#23326)Mauro Mugnaini2022-05-20 10:14:34 +0200
db6f769695Added functions to introspect and verify access tokens (both OIDC and UMA are supported) (#23326)Mauro Mugnaini2022-05-19 19:40:09 +0200
7ab5bd1256New model classes available (from Keycloak's source code)Mauro Mugnaini2022-05-19 19:39:32 +0200
4ab2c18440Test with error (unhautorized) for the refresh token with only the refresh token, since a `confidential` client is used for testing.Mauro Mugnaini2021-12-17 17:59:31 +0100
defc33913fHelper function to crete a `RefreshToken` object from its base64 encoded JWT string addedMauro Mugnaini2021-12-17 17:58:22 +0100
f7ab942a5cAdded refresh token from the encoded JWT form only of the `refresh_token` function; for public client types only.Mauro Mugnaini2021-12-17 17:56:56 +0100
5d257faef5Updated micro-version to avoid possible repo backports/backtracking related issues and to be sure to have last version available in DEV at the momentMauro Mugnaini2021-09-27 18:09:13 +0200
69250b3ea0RootVO part of the provided scope is used for discovery, since the endpoint is always registered there and added check for its existance in the prvoider and its format. Also checked that all the mandatory parameters are not null.Mauro Mugnaini2021-06-25 10:52:41 +0200