Alexander Schwartz
513bb809f3
Add a map storage global locking implementation for JPA
...
Closes #14734
2023-03-21 08:21:11 +01:00
Martin Kanis
5e7793b64d
Unexpected invalid_grant error on offline session refresh when client session is not in the cache
...
Closes #9959
Co-authored-by: Martin Kanis <mkanis@redhat.com>
Co-authored-by: Lex Cao <lexcao@foxmail.com>
2023-03-15 12:39:43 +01:00
Hynek Mlnarik
fe5d89295f
Fix client (scope) model test placement
...
Fixes : #17212
2023-03-13 14:35:14 +01:00
Alexander Schwartz
0b2802fa18
Fixing compile time warnings
...
Avoiding calling deprecated methods, and adding compile time dependencies for annotations.
Closes #17499
2023-03-09 15:42:55 +01:00
Michal Hajas
837c64de3d
Add support for pessimistic locking to HotRod
...
Closes #13273
2023-03-07 10:44:31 +01:00
Alexander Schwartz
f6f179eaca
Rework the export to use CLI options and property mappers
...
Also, adding the wiring to support Model tests for the export.
Closes #13613
2023-03-07 08:22:12 +01:00
Michal Hajas
465019bec4
Extract attachDevice outside of storage layer
...
Closes #17336
2023-03-03 17:58:34 +01:00
Jon Koops
972ebb9650
Use a valid SemVer format for the SNAPSHOT version ( #17334 )
...
* Use a valid SemVer format for the SNAPSHOT version
* Update pom.xml
* Update pom.xml
---------
Co-authored-by: Stian Thorgersen <stianst@gmail.com>
Co-authored-by: Stian Thorgersen <stian@redhat.com>
2023-03-03 11:11:44 +01:00
Alexander Schwartz
95a6effcef
Increase memory for the model tests to avoid an OOM error
...
Closes #17427
2023-03-03 10:55:03 +01:00
Michal Hajas
e02c95f9d3
Fix testReleaseAllLocksMethod timing out intermittently
...
Closes #17337
2023-03-01 14:55:50 +01:00
Michal Hajas
7899c6c80a
Make DeviceRepresentationProvider available for all model test profiles
...
Closes #17329
2023-02-28 14:55:48 +01:00
Douglas Palmer
1d75000a0e
Create an SPI for DeviceActivityManager
...
closes #17134
2023-02-20 09:29:11 +01:00
Michal Hajas
1f929c78af
Make lockTimeout more friendly for JPA map storage
...
Closes #16616
2023-02-15 10:38:18 +01:00
Hynek Mlnarik
2665fb01a6
File storage: Fix path traversal
...
Fixes : #17029
2023-02-14 14:30:14 +01:00
Václav Muzikář
a57821ed80
Fix JDK 17 InaccessibleObjectException with infinispan
2023-02-13 17:09:36 -03:00
Michal Hajas
6fa62e47db
Leverage HotRod client provided transaction
...
Closes #13280
2023-02-08 10:26:30 +01:00
Hynek Mlnařík
f71ab092de
File store basis
...
Fixes : #16676
---
* Enhance DefaultModelCriteria
* Fix collection
* Fix delete in CHMKeycloakTransaction
* Add HasRealmId interface
* Fix EntityFieldDelegate
* Support for realm-less entities in providers
* Support for realm-less entities in providers (events)
* File store basis
* Add support for writing
* Support running KeycloakServer with file store
* Add support for file store in model testsuite
---------
Co-authored-by: vramik <vramik@redhat.com>
2023-02-07 14:59:23 +01:00
Martin Kanis
5ba004b447
Leverage Infinispan lifespan for ExpirableEntities in HotRod storage
2023-02-07 10:01:32 +01:00
Alexander Schwartz
c6aba2e3de
Make LockAcquiringTimeoutException a RuntimeException
...
Closes #16690
2023-01-31 08:21:32 +01:00
Michal Hajas
eb59fdb772
Add transaction tests to model tests
...
Closes : #15890
2023-01-26 12:55:22 +01:00
Hynek Mlnarik
3119566407
Prevent endless loop in case of split-brain
...
Fixes : #16427
2023-01-13 16:23:18 +01:00
Michal Hajas
6566b58be1
Introduce Infinispan GlobalLock implementation
...
Closes #14721
2023-01-05 16:58:44 +01:00
Hynek Mlnarik
071fc03f41
Move transaction processing into session close
...
Fixes : #15223
2023-01-05 16:12:32 +01:00
Martin Kanis
c0e103dc95
Replace old HotRod index annotation with new one
2022-12-21 12:50:08 +01:00
Alexander Schwartz
fffde1407c
Enable retryable transactions for CockroachDB model tests
...
Also made the test setup of the realm more idempotent to clean up a realm left-over from a previous test.
Closes #16078
2022-12-20 15:49:07 +01:00
Alexander Schwartz
0fee33bb95
Normalize JVM heap usage in tests and handle OOM situations
...
Closes #16089
2022-12-20 13:26:07 +01:00
Alexander Schwartz
6d0e112bf1
Ensure lock table has its primary key created, and re-enable the DBLockTest
...
Closes #15487
2022-12-20 08:50:14 +01:00
Alexander Schwartz
1d758fac2b
Adding CRDB into GHA for the new store ( #16021 )
...
The CockroachDB database is slower than PostgreSQL, therefore it will only run branches and nightly builds.
Closes #16020
2022-12-17 08:50:21 +01:00
Peter Zaoral
1073a342cf
Cleanup dependencies and align with Quarkus
...
* aligned parent POM dependency versions with the Quarkus BOM
Closes #15325
Signed-off-by: Peter Zaoral <pzaoral@redhat.com>
2022-12-09 09:10:30 -03:00
Hynek Mlnařík
208affe000
Update generator to record the entity to fields mapping
...
Fixes : #15677
2022-12-08 15:40:28 +01:00
Miquel Simon
88bc5e2307
Use different Postgres image in Testcontainers. Upgraded Testcontainers dependency to 1.17.5.
2022-11-28 10:57:14 +01:00
Alexander Schwartz
0bad673219
Disabling unstable test until further analysis is complete
...
Relates to #15487
2022-11-21 16:46:25 +01:00
Michal Hajas
6d683824a4
Deprecate DBLockProvider and replace it with new GlobalLockProvider
...
Closes #9388
2022-11-16 16:13:25 +01:00
Martin Kanis
5e891951f5
Update Infinispan version to 14.0.2.Final
2022-11-16 14:56:45 +01:00
Alexander Schwartz
80dab89468
Disabling unstable test until further analysis is complete
...
Relates to #15487
2022-11-15 16:12:20 +01:00
Michal Hajas
9944a594eb
Use DELETE statement instead of deleting one by one for HotRod store
...
Closes #9420
2022-11-11 13:51:03 +01:00
Michal Hajas
dc007eab6f
Ignore test until the intermittent failure from #14917 is resolved
2022-11-07 20:47:39 +01:00
Michal Hajas
d9dcb6c60a
Fix Infinispan adapter not checking updated value in getAttribute methods
...
Closes #12819
2022-11-07 20:44:43 +01:00
stianst
1de9c201c6
Refactor Profile
...
Closes #15206
2022-11-07 07:28:11 -03:00
vramik
6bbcdd44a5
Run map-jpa model tests profile in GHA
...
Closes #13573
2022-11-02 15:30:08 +01:00
Stian Thorgersen
97ae90de88
Remove Red Hat Single Sign-On product profile from upstream ( #14697 )
...
* Remove Red Hat Single Sign-On product profile from upstream
Closes #14916
* review suggestions: Remove Red Hat Single Sign-On product profile from upstream
Closes #14916
Co-authored-by: Peter Skopek <pskopek@redhat.com>
2022-10-18 14:43:04 +02:00
Alexander Schwartz
97c4495c4f
Updating H2 database to 2.x
...
Closes #12607
Co-authored-by: Stian Thorgersen <stian@redhat.com>
2022-10-14 11:52:34 +02:00
vramik
f49582cf63
MapUserProvider in KC20 needs to store username compatible with KC19 to be no-downtime-upgradable
...
Closes #14678
2022-10-14 09:32:38 +02:00
danielFesenmeyer
f80a8fbed0
Avoid login failures in case of non-existing group or role references and update references in case of renaming or moving
...
- no longer throw an exception, when a role or group cannot be found, log a warning instead
- update mapper references in case of the following events:
- moving a group
- renaming a group
- renaming a role
- renaming a client's Client ID (may affect role qualifiers)
- in case a role or group is removed, the reference still will not be changed
- extend and refactor integration tests in order to check the new behavior
Closes #11236
2022-10-13 13:23:29 +02:00
Martin Kanis
761929d174
Merge ActionTokenStoreProvider and SingleUseObjectProvider ( #13677 )
...
Closes #13334
2022-10-13 09:26:44 +02:00
Martin Kanis
42ad95af4d
Stabilize testPersistenceMultipleNodesClientSessionsAtRandomNode model test
2022-09-27 21:01:35 +02:00
Christoph Leistert
7e5b45f999
Issue #8749 : Add an option to control the order of the event query and admin event query
2022-09-11 21:30:12 +02:00
vramik
869ccc82b2
Enable MapUserProvider storing username with the letter case significance
...
Closes #10245
Closes #11602
2022-09-09 11:46:11 +02:00
Alexander Schwartz
bb6b5abfa1
Remove Infinispan workarounds after upgrading to 13.x
...
Closes #13962
2022-08-30 07:32:19 -03:00
Alexander Schwartz
a364a05cfa
Disable unstable scenario for testOfflineSessionLazyLoadingPropagationBetweenNodes
...
This only fails when CrossDC and preloadOfflineSessionsFromDatabase are enabled after the upgrade to Infinispan 13.x
Relates to #14020
2022-08-29 13:01:41 +02:00
Pedro Igor
2cc4b54404
Do not cache policies if they no longer exist ( #12797 )
...
Closes #12657
Co-authored-by: Michal Hajas <mhajas@redhat.com>
Co-authored-by: Michal Hajas <mhajas@redhat.com>
2022-08-25 13:52:30 +02:00
Michal Hajas
05b9e6d59e
Upgrade Infinispan to 13.0.10.Final ( #13910 )
...
Closes #12306
2022-08-25 13:09:34 +02:00
Tero Saarni
74b2541d10
Fix invalid method reference when compiling with JDK17 ( #13621 )
...
Closes #13961
2022-08-25 08:11:15 +02:00
Michal Hajas
d55d110ff9
Run Infinispan using Testcontainers in base testsuite
...
Closes #13620
2022-08-10 16:36:44 +02:00
Martin Kanis
57f2f4654a
Add limit for authSessions per rootAuthSession in map storage
2022-08-10 12:56:37 +02:00
Michal Hajas
ec808d28bb
Remove possibility to start embedded HotRod server in hotrod-map module
...
Closes #13247
2022-08-05 21:08:38 +02:00
Martin Kanis
ff26698053
Stabilize testCreateUserSessionsParallel model test
2022-08-02 08:12:42 +02:00
Michal Hajas
eb1f31e9dd
Optimize user-client session relationship for HotRod storage
...
Closes #12818
2022-07-26 09:00:13 +02:00
Alexander Schwartz
cb81a17611
Disable Infinispan for map storage and avoid the component factory when creating a realm independent provider factory
...
Provide startup time in UserSessionProvider independent of Infinispan,
cleanup code that is not necessary for the map storage as it isn't using Clustering.
Move classes to the legacy module.
Closes #12972
2022-07-22 08:20:00 +02:00
Martin Kanis
c2bd01bca0
Add model tests for Hot Rod starting multiple nodes
2022-07-21 12:15:25 +02:00
Martin Kanis
c8a6846ee0
Remove offline sessions when deleting a realm
2022-07-19 16:40:22 +02:00
Alexander Schwartz
43539cd3c0
Rework handling of Infinispan exceptions to stabilize the test
...
Closes #13164
2022-07-18 16:00:38 -03:00
Vlasta Ramik
ec853a6b83
JPA map storage: User / client session no-downtime store ( #12241 )
...
Co-authored-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Closes #9666
2022-07-14 12:07:02 -03:00
Michal Hajas
34d8629477
Convert ClientSessionIdleTimeout from seconds to milliseconds before … ( #13048 )
2022-07-13 07:29:52 -03:00
Martin Kanis
4b43612806
Disable WARN logging for Hot Rod RemoteQuery class
2022-07-11 16:48:56 -03:00
Pedro Igor
5b48d72730
Upgrade Resteasy v4
...
Closes #10916
Co-authored-by: Alexander Schwartz <aschwart@redhat.com>
2022-07-11 12:17:51 -03:00
Michal Hajas
0f86427dd0
Make user->client sessions relationship consistent
...
Closes #12817
2022-07-11 08:42:28 -03:00
Stefan Guilhen
5801ed27a0
Enable JPA store for ActionTokenStoreSpi in model tests
...
Closes #12902
2022-07-06 12:08:49 -03:00
Stefan Guilhen
dc88dd5286
Users Map JPA implementation ( #12871 )
2022-07-05 11:19:31 -03:00
Alexander Schwartz
098d4dda0e
Split PublicKeyStorageProvider ( #12897 )
...
Split PublicKeyStorageProvider
- Extract clearCache() method to separate interface and move it to the legacy module
- Make PublicKeyProvider factories environment dependent
- Simple map storage for public keys that just delegates
Resolves #12763
Co-authored-by: Martin Kanis <mkanis@redhat.com>
2022-07-05 09:57:51 -03:00
Stefan Guilhen
007fa1f374
Single Use Objects Map JPA implementation
...
Closes #9852
2022-07-04 10:05:51 -03:00
vramik
6335090092
Use JpaMapStorageProviderFactory for authorization services in model tests
...
Closes #12743
2022-06-28 15:01:49 +02:00
Stefan Guilhen
7d96f3ad5a
Events Map JPA implementation
...
Closes #9667
2022-06-21 13:53:48 +02:00
Alexander Schwartz
84d21f0230
for all added files in the PR, update the copyright header or add it if it was missing
2022-06-21 08:53:06 +02:00
Alexander Schwartz
d41764b19b
Inline deprecated methods in legacy code
2022-06-21 08:53:06 +02:00
Alexander Schwartz
1bc6133e4e
redirect calls to userLocalStorage from legacy modules (federation, ldap, sssd, kerberos)
2022-06-21 08:53:06 +02:00
Alexander Schwartz
14a369a8cc
Added LegacySessionSupport SPI
...
While some methods around onCache() are still called from the legacy code, all other methods log a warning with a stacktrace.
2022-06-21 08:53:06 +02:00
Hynek Mlnarik
703e868a51
Preparation for moving User Storage SPI
...
- Introduction of new AdminRealmResource SPI
- Moving handler of /realm/{realm}/user-storage into model/legacy-service
- session.users() and userStorageManager() moved refers legacy module
IMPORTANT: Broken as UserStorageSyncManager is not yet moved
2022-06-21 08:53:06 +02:00
Hynek Mlnarik
36f76a37ad
Move realms, clients, groups, roles, clientscopes into legacy module
...
- Introduces Datastore SPI for isolating data store methods
- Introduces implementation of the datastore for legacy storage
- Updates DefaultKeycloakSession to leverage Datastore SPI instead
of direct creating of area providers by the session
2022-06-21 08:53:06 +02:00
Michal Hajas
781183e551
Enable indexing for ResourceServerEntity
...
Closes #12533
2022-06-20 10:17:19 +02:00
Alexander Schwartz
71e7982a49
Adding central time offset reset in model tests as it was missing for AuthenticationSessionTest and UserSessionPersisterProviderTest
...
Also adding try/finally in other places in the integration tests where it was missing.
Closes #12530
2022-06-16 13:42:55 +02:00
vramik
1b3a76d0af
Do not persist client sessions of transient user sessions
...
Closes #12357
2022-06-15 10:54:23 +02:00
Martin Kanis
df72cf72f2
Hot Rod map storage: Single-use (action token) no-downtime store
2022-06-06 16:01:18 +02:00
Michal Hajas
09c0a69a8f
Add HotRod no downtime store for events
...
Closes #9676
2022-06-02 13:30:19 +02:00
Alexander Schwartz
6c3d25fd8f
Limit the number of clientSessionIds in the test
...
Before it was 1500 client sessions, now its only 150 client sessions. This should help to keep the test within its time constraint of 60 + 30 seconds.
Closes #12264
2022-05-31 17:10:49 +02:00
Michal Hajas
1a98765fb7
Fix cascade removal of client session on user session removal for CHM
...
Closes #12146
2022-05-30 09:58:54 +02:00
Martin Kanis
0cb3c95ed5
Map storage: Single-use objects (action token)
2022-05-25 16:47:10 +02:00
vramik
2cbc167435
JPA map storage: model tests fails with NPE
...
Closes #12165
2022-05-25 09:28:08 +02:00
vramik
f8ca25d4a4
Add a profiles testsuite for jpa-map storage
...
Closes #12045
2022-05-20 09:17:33 +02:00
Michal Hajas
0bda7e6038
Introduce map event store with CHM implementation
...
Closes #11189
2022-05-17 12:57:35 +02:00
Michal Hajas
6b5c417742
Add HotRod store for authorization services
...
Closes #9679
2022-05-06 15:31:38 +02:00
Michal Hajas
fc974fc019
Update composite roles on child role removal
...
Closes #11769
2022-05-05 15:18:18 +02:00
vramik
0d83b51b20
Enhance Map authz entities with REALM_ID (ResourceServer with CLIENT_ID) searchable field
...
Co-authored-by Michal Hajas <mhajas@redhat.com>
Closes #10883
2022-05-03 12:56:27 +02:00
Hynek Mlnarik
1b1cf266eb
Add support for async profiler to model testsuite
...
Fixes : #11743
2022-05-03 12:53:10 +02:00
vramik
2ecf250e37
Deletion of all objects when realm is being removed
...
Closes #11076
2022-04-28 11:09:17 +02:00
vramik
5248815091
Disable infinispan realm and user cache for map storage tests
...
Closes #11213
2022-04-25 09:38:49 +02:00
Stefan Guilhen
b29b27d731
Ensure code does not rely on a particular format for the realm id or component id
2022-04-20 14:40:38 +02:00
Martin Kanis
a2d7cd7a5c
Hot Rod map storage: User / client session no-downtime store
2022-04-14 15:34:22 +02:00
Alexander Schwartz
a6dd9dc0f1
Avoiding AvlPartitionFactory and using JdbmPartitionFactory for the embedded LDAP to work around unstable tests.
...
Fix for #11171 didn't turn out to cover the root cause. Also improved transaction handling in LDAP Map storage.
Closes #11211
2022-04-12 09:12:21 +02:00
Alexander Schwartz
5c810ad0e5
Avoid short-lived connections for ApacheDS to avoid messages around "ignoring the message MessageType UNBIND_REQUEST"
...
The comment in LdapRequestHandler.java in ApacheDS notes just before discarding an unbind request: "in some cases the session is becoming null though the client is sending the UnbindRequest before closing".
Also implementing a retry logic for all remaining errors regarding LDAP.
Closes #11171
2022-04-11 10:03:15 +02:00