Commit Graph

55 Commits

Author SHA1 Message Date
Mauro Mugnaini 22013667d1
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 Keycloak 2024-05-06 18:10:26 +02:00
Mauro Mugnaini dfb35bad62
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 Keycloak 2024-05-06 18:09:40 +02:00
Mauro Mugnaini eabd708631
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 it 2024-05-03 12:13:41 +02:00
Mauro Mugnaini 899cf13afd
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 it 2024-05-03 12:10:07 +02:00
Mauro Mugnaini 49af6590f7
Fixed javadocs 2024-05-03 12:07:42 +02:00
Mauro Mugnaini ca0423cdf2
Changed to `runtime` `jjwt-impl` dependnecy and moved to `jjwt-gson` as `provided` seems to solve the issue #27377 2024-05-03 12:07:19 +02:00
Mauro Mugnaini 027803b7e9
Added also `jackson-core` and `jackson-annotations` to the exclusions of `jjwt-impl` dependency 2024-05-02 18:14:39 +02:00
Mauro Mugnaini 0dbf1c0c95
Added explicit declaration of `jackson-databind `2,)` to `provided`, also added to exclusions of `jjwt-impl` 2024-05-02 11:37:32 +02:00
Mauro Mugnaini 5938bf4af8
Replaced `auth0` lib with `jjwt` by `io.jsonwebtoken` that doesn't require jackson at runtime if not used 2024-04-30 20:13:30 +02:00
Mauro Mugnaini e339be5083
Added support to JWK endpoint and key sets retrieve to take info about configured key algorithms 2024-04-30 18:31:07 +02:00
Mauro Mugnaini 7d98fbaa16
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 specified 2024-04-30 18:29:21 +02:00
Mauro Mugnaini 8c009b9a8d
Renamed method `isSignatureValid()` to `isValid()` since it tests also other aspects (exipration, not before, etc...). 2024-04-30 12:55:04 +02:00
Mauro Mugnaini 23f387f832
Added JWT digital signature verification by using the RSA public key of the realm on server. Uses `java-jwt` library by Auth0 [#27340] 2024-04-30 11:48:22 +02:00
Mauro Mugnaini 726291ca55
Added custom base URL set via factory (not automatically working cross environments) [#27234]
Better tests for exchange-token features
2024-04-22 17:50:00 +02:00
Mauro Mugnaini 35c913db02
Added `token-exchange` support, also with `offline-token` scope, and methods to add extra headers during the OIDC token requests. 2024-04-19 17:26:40 +02:00
Mauro Mugnaini 86c3887e76 Release of the `v.2.0.0` 2023-07-21 12:45:18 +02:00
Mauro Mugnaini 52d70eda60 Added 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. 2023-07-13 13:09:33 +02:00
Mauro Mugnaini 89c5cf04bd Revised code to avoid method invoked twice and double logging 2023-07-13 13:06:24 +02:00
Mauro Mugnaini d5ddbfd067 Added 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) 2023-07-11 13:36:23 +02:00
Mauro Mugnaini a71f1725a7 The 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` APIs 2023-07-10 15:46:48 +02:00
Mauro Mugnaini 00d07f99c6 Added changelog info 2023-03-23 18:39:22 +01:00
Mauro Mugnaini 5f3e02c6e4 Added support for the user of the D4S mapper that maps/shrink the `aud` to the value requested via `X-D4Science-Context` HTTP header 2023-03-23 18:27:24 +01:00
Mauro Mugnaini 168a1d4b35 Added 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) 2022-07-15 18:19:35 +02:00
Luca Frosini 9577388a09 Removed uneeded dependency 2022-07-15 16:02:21 +02:00
Luca Frosini 1dba845d31 Merge remote-tracking branch 'origin/smartgears_4'
Conflicts:
	pom.xml
2022-07-15 15:42:12 +02:00
Luca Frosini b689ab8659 Reverted change which has been made in branch 2022-07-15 15:39:35 +02:00
Luca Frosini 4423cf7434 Set the right gcube-bom 2022-07-15 15:28:31 +02:00
Mauro Mugnaini 0adf0f86e5 Fixed typo in `AccessToken` class for `setAccessToken(..)` method (#23654) 2022-07-15 11:21:17 +02:00
Mauro Mugnaini c30cc9e646 Updated to latest BOM 2022-07-15 11:20:53 +02:00
Lucio Lelii 44cc98a724 porting to smartgears 4 2022-06-15 17:57:44 +02:00
Mauro Mugnaini 7ae6a7dcd8 Added methods for `token` and `introspect` endpoint construction starting from realm's base URL and related tests 2022-06-10 13:48:48 +02:00
Mauro Mugnaini 460b080fcd Removed 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) 2022-06-08 19:05:40 +02:00
Mauro Mugnaini d6316c837d Fixed right method use to test `active` field in token introspection response 2022-05-20 10:15:34 +02:00
Mauro Mugnaini 6ebb6c6616 Added tests for new introspect and isVerified functions (both OIDC and UMA are supported) (#23326) 2022-05-20 10:14:34 +02:00
Mauro Mugnaini db6f769695 Added functions to introspect and verify access tokens (both OIDC and UMA are supported) (#23326) 2022-05-19 19:40:09 +02:00
Mauro Mugnaini 7ab5bd1256 New model classes available (from Keycloak's source code) 2022-05-19 19:39:32 +02:00
Mauro Mugnaini 03ea0fae2c Added `token` parameter contants 2022-05-19 19:38:48 +02:00
Mauro Mugnaini f7e5c29c54 Releasing v.1.2.0 2022-04-04 13:25:41 +02:00
Mauro Mugnaini f5bbec3f3a Typo in version title fixed 2022-03-30 12:05:47 +02:00
Mauro Mugnaini 49586563e2 Added tests for new OIDC token retrieve methods and UMA from OIDC token method 2022-03-30 12:02:23 +02:00
Mauro Mugnaini 4c769f329f Added OIDC token retrieve for clients [#23076] and UMA token from OIDC token instead for credentials 2022-03-30 12:01:42 +02:00
Mauro Mugnaini 7d3f508954 Releasing version `1.1.0` 2022-01-13 15:06:38 +01:00
Mauro Mugnaini 4ab2c18440 Test with error (unhautorized) for the refresh token with only the refresh token, since a `confidential` client is used for testing. 2021-12-17 17:59:31 +01:00
Mauro Mugnaini defc33913f Helper function to crete a `RefreshToken` object from its base64 encoded JWT string added 2021-12-17 17:58:22 +01:00
Mauro Mugnaini f7ab942a5c Added refresh token from the encoded JWT form only of the `refresh_token` function; for public client types only. 2021-12-17 17:56:56 +01:00
Mauro Mugnaini 6ed1591974 Added OIDC access code example 2021-12-17 17:55:07 +01:00
Mauro Mugnaini 3e2bbeb3e2 [#22515] Added refresh token methods 2021-12-09 15:05:47 +01:00
Mauro Mugnaini f5ef1d2c92 [#22515] Added refresh token methods 2021-12-09 15:05:26 +01:00
Mauro Mugnaini 21774d9a91 Releasing component (#22145 #22195) 2021-10-07 10:53:01 +02:00
Mauro Mugnaini 5d257faef5 Updated micro-version to avoid possible repo backports/backtracking related issues and to be sure to have last version available in DEV at the moment 2021-09-27 18:09:13 +02:00