Alexander Schwartz
3c3f003a38
LDAP Map storage support to support read/write for roles
...
Closes #9929
2022-03-08 12:03:10 +01:00
Michal Hajas
f77ce315bb
Disable Authz caching for new storage tests
...
Closes #10500
2022-03-07 10:22:55 -03:00
Michael Parlee
722ce950bf
Improve user search performance
...
Removes bulder.lower() from user search queries on email and username.
Closes #8893
2022-03-04 14:15:14 +01:00
Martin Kanis
6c64d465ea
Convert authentication session entities into interface
2022-03-04 10:50:18 +01:00
Alexander Schwartz
ebfc24d6c1
Ensure that Infinispan shutdowns correctly at the end of the tests. Report any exceptions within another thread as a test failure.
...
Adding additional information like a thread dump when it doesn't shutdown as expected.
Closes #10016
2022-03-04 10:47:01 +01:00
giacomo.altiero
91d37b5686
Single offlineSession imported in Infinispan with correctly calculated lifespan and maxIdle parameters
...
Close #8776
2022-03-01 14:51:29 +01:00
Stefan Guilhen
af7a040d54
Ensure Liquibase validation is performed once per area
...
Closes #10132
2022-02-25 08:48:34 +01:00
Martin Kanis
6249e34177
Hot Rod map storage: Client scope no-downtime store
2022-02-24 13:30:27 +01:00
Michal Hajas
b4281468d0
Convert Map Realm Entities into interfaces
...
Closes #9736
2022-02-24 13:23:19 +01:00
Vlasta Ramik
aa6a131b73
Change String client.id to ClientModel client in ResourceServerStore
...
Closes #10442
2022-02-24 12:46:26 +01:00
Luca Graf
febb447919
KEYCLOAK-19297 Use real 'external' client object id to store AuthenticatedClientSession in UserSession object, so that the client session can be looked by the client object id in further requests.
2022-02-18 12:42:59 +01:00
vramik
589606b1c1
JPA map storage: Groups no-downtime store
...
Closes #9660
2022-02-15 08:54:41 +01:00
keycloak-bot
d9f1a9b207
Set version to 18.0.0-SNAPSHOT ( #10165 )
2022-02-11 21:28:06 +01:00
Stefan Guilhen
442d9bae2e
Add CockroachDB support in the new JPA storage
...
Closes #10039
2022-02-11 18:04:02 +01:00
Martin Kanis
26ac142b99
Hot Rod map storage: Roles no-downtime store
2022-02-11 14:31:34 +01:00
Michal Hajas
b50b8f883b
Implement HotRod storage for Users
...
Closes #9671
2022-02-11 10:20:36 +01:00
vramik
8a8d59a124
Add prefix "kc_" to all existing tables
...
Closes #10101
2022-02-11 08:59:23 +01:00
Alexander Schwartz
de7be3d65d
Handling JPA Map storage case when parent has been deleted
...
Closes #10033
2022-02-09 14:43:50 +01:00
Stefan Guilhen
7c1d6eae43
Upgrade to Liquibase 4.6.2
...
* Upgrade to Liquibase 4.6.2
* Add valid checksums to changesets to allow migration to newest liquibase
* Update liquibase licenses
Co-authored-by: Martin Kanis <mkanis@redhat.com>
2022-02-09 12:56:46 +01:00
vramik
5701c6c85a
JPA delegates can throw NoResultException when entity doesn't have any attributes
...
Closes #10067
2022-02-09 09:18:54 +01:00
vramik
844c210d86
Create common parent for Jpa*AttributeEntity
...
Closes #10071
2022-02-08 22:09:21 +01:00
Alexander Schwartz
45df1adba9
Update generics in JPA Map storage to avoid casting and compiler warnings
...
Closes #10060
2022-02-08 17:38:53 +01:00
Alexander Schwartz
de2c1fbb45
Update the entityVersion also for downgrades, as it needs to match the JSON and auxiliary tables.
...
Will trigger also when changes to a child occur, like for example when attributes change.
Closes #9716
2022-02-07 12:14:05 +01:00
Martin Kanis
0471ec4941
Cross-site validation for lazy loading of offline sessions & Switch default offline sessions to lazy loaded
2022-02-03 21:43:47 +01:00
vramik
7bd0dbb3ce
Client Scopes: Added ModelIllegalStateException to handle lazy loading exception.
...
Closes #9645
2022-02-02 21:49:40 +01:00
vramik
165791b1d7
Client Scopes: Ensure that parent's version ID is incremented when an attribute changes
...
Closes #9874
2022-02-02 21:49:22 +01:00
Alexander Schwartz
9d46b45a9c
Ensure that parent's version ID is incremented when an attribute changes.
...
This is necessary to allow the optimistic locking functionality to work as expected when changing only attributes on an entity.
Closes #9874
2022-02-01 20:33:10 +01:00
vramik
13e02d5f09
JPA map storage: Client scope no-downtime store
...
Closes #9663
2022-02-01 20:26:00 +01:00
Michal Hajas
c648e121ed
Convert authz entities into interfaces
...
Closes #9740
2022-01-31 13:51:56 +01:00
Alexander Schwartz
df7ddbf9b3
Added ModelIllegalStateException to handle lazy loading exception.
...
Closes #9645
2022-01-31 10:10:41 +01:00
Alexander Schwartz
2b81e62b6b
Adding workaround for deadlock in tests for Infinispan 12.1.7
...
Closes #9648
2022-01-28 15:29:50 +01:00
bal1imb
9621d513b5
KEYCLOAK-18727 Improve user search query
2022-01-26 17:03:05 +01:00
Alexander Schwartz
9e257d4a01
Added warning when storage contains multi-valued attributes and Keycloak model doesn't support them.
...
Closes #9714
2022-01-26 15:40:00 +01:00
Michal Hajas
de161d02b9
Store updated flag in the entity, not in the delegate
...
Closes #9774
2022-01-26 15:24:42 +01:00
Alexander Schwartz
e2ac7b38f4
Adding missing database constraints for clients in JPA map storage.
...
This should ensure consistency for the store even in the event of concurrent creation of clients by multiple callers.
Closes #9610
2022-01-23 20:34:28 +01:00
vramik
873a44459a
Convert MapClientScopeEntity to interface
...
Closes #9657
2022-01-23 16:56:25 +01:00
Martin Kanis
ddcabe61b2
KEYCLOAK-19571 Add indices to HotRodClientEntity fields
2022-01-20 17:46:47 +01:00
vramik
7b89d151c1
KEYCLOAK-18565 JPA roles no-downtime store
2022-01-20 12:02:35 +01:00
Guus der Kinderen
213b1f5042
Closes #9562 : Add DB index for UserEntity getRealmUserByServiceAccount
2022-01-20 09:52:54 +01:00
vramik
61fbb2fb2e
JPA-Map storage might loose writes due to missing locking mechanism
...
Closes #9411
2022-01-20 09:06:14 +01:00
vramik
22bcdcb630
MapRoleProvider could return also client roles when searching for realm roles
...
Closes #9587
2022-01-19 16:39:59 +01:00
Konstantinos Georgilakis
db0b36460f
KEYCLOAK-19148 correct getGroupsCountByNameContaining of MapGroupProvider
2022-01-15 20:15:27 +01:00
Stefan Guilhen
2fd1593abf
Set order of LiquibaseDBLockProviderFactory to 1
...
- makes it the default provider when no provider is explicitly configured
- avoid NPE at server startup when other providers are present and none is set as default
2022-01-13 08:30:25 +01:00
Dominik DS
93419a1797
KEYCLOAK-19289 check if values to set is not null ( #8426 )
...
Closes #9529
2022-01-12 09:22:01 +01:00
Michal Hajas
ab9413b48c
Store user nested entities in Set instead of Map
2022-01-10 15:57:45 +01:00
Michal Hajas
9849df3757
Convert MapUserEntity to interface
2022-01-10 15:57:45 +01:00
Alexander Schwartz
9b18688ce2
fixes #9427 regex pattern is now pre-compiled
2022-01-08 17:30:54 +01:00
Martin Kanis
9d5355b7ad
Upgrade Infinispan to 12.1.7.Final
2022-01-08 17:29:09 +01:00
Hynek Mlnařík
d39eb95705
Introduce per-field delegation of entities
2022-01-05 14:06:45 +01:00
vramik
dd3d7be2b4
Make JpaClientMapStorage generic
...
Closes #9244
2022-01-05 07:04:05 +01:00
andreaTP
4817e152e3
[ref: 8889] Annotation processor support for Java > 11
2022-01-04 21:26:07 +01:00
Stefan Guilhen
b12830ae4f
8947 - Add liquibase extension to handle JSON operations
2022-01-04 20:58:32 +01:00
Michal Hajas
96b2669a00
Refactoring of constructors for generated entities
2021-12-22 16:00:10 +01:00
vramik
009ca27a38
Make JsonbType generic
...
Closes #9165
2021-12-20 17:40:23 +01:00
keycloak-bot
9f3d4a7d42
Set version to 17.0.0-SNAPSHOT
2021-12-20 10:50:39 +01:00
vramik
44184ab0cb
MapRoleProvider uses ILIKE operator when EQ operator should be used
...
Closes #9130
2021-12-16 10:31:43 +01:00
vramik
b4d720d615
Fix DB Migration Script to 13.0.0
...
Closes #9138
2021-12-15 14:00:29 +01:00
vramik
c6312e3308
KEYCLOAK-18717 KEYCLOAK-18716 KEYCLOAK-18715 KEYCLOAK-18713 KEYCLOAK-18712 KEYCLOAK-18711 JPA clients no-downtime store
2021-12-15 13:32:49 +01:00
vramik
848b170a96
Use DeepCloner.Builder().constructorDC in cases when possible
...
Closes #9141
2021-12-15 10:28:08 +01:00
vramik
e61da278ba
When ternary conditional operator uses primitive type it could throw NPE in some cases
...
Closes #9137
2021-12-15 10:25:54 +01:00
Michal Hajas
5aa9a09b20
Closes #8969 - Add Groups HotRod storage
2021-12-13 18:12:19 +01:00
Hynek Mlnarik
8e03942e87
Enhance available tree operations
...
Fixes #9022
2021-12-13 18:05:45 +01:00
Hynek Mlnarik
3c7e5c8440
Create delegates and empty instances in DeepCloner
...
Fixes : #9030
2021-12-13 18:04:48 +01:00
Michal Hajas
fc237a8b63
Introduce ancestor interface for entities with attributes
2021-12-10 10:54:44 +01:00
Michal Hajas
7aaa33739b
KEYCLOAK-19570 Add annotation processing for HotRod clients
2021-12-08 10:00:00 +01:00
Hynek Mlnarik
3602873df2
Introduce model-entity util methods
...
Fixes : #9025
2021-12-07 16:51:56 +01:00
vramik
783eecf612
Closes #8808 - Convert MapRoleEntity to interface
2021-12-01 15:50:26 +01:00
Kashif Saadat
d9bf511406
KEYCLOAK-19052: Optimised (split) the clearExpiredEvents query to reduce execution time
2021-11-30 22:25:55 +01:00
Michal Hajas
a5c3b83443
Closes #8807 - Make MapGroupEntity generated
2021-11-30 21:44:18 +01:00
Michal Hajas
158640d1f3
Closes #8954 - move Hot Rod classes to hotRod package
2021-11-30 11:52:16 +01:00
vramik
1adce39e1d
8886 Add alwaysDisplayInConsole searchable client field
2021-11-24 13:15:17 +01:00
vramik
6b8890f5dd
KEYCLOAK-19525 Inconsistent creation of default-roles-<realm>
2021-11-23 21:30:12 +01:00
Martin Bartoš
1e1a6779be
Issue 8814: Replace deprecated hamcrest-all dependencies
2021-11-23 13:56:28 +01:00
Michal Hajas
4291caff3c
Fix Delegate bug
2021-11-16 19:47:59 +01:00
Michal Hajas
2f9a5aae0f
KEYCLOAK-19028 Add HotRod Map storage implementation
2021-11-11 14:10:00 +01:00
Alec Henninger
cec6a8a884
KEYCLOAK-19700: Attempt to reuse denied device authorization code results in server error
2021-11-08 11:37:51 +01:00
Hynek Mlnarik
58d403cf24
KEYCLOAK-19726 Fix return types of ModelCriteriaBuilder methods
2021-11-05 16:39:40 +01:00
vramik
439e2e4288
KEYCLOAK-19763 fix MapClientProvider.getClientByClientId
2021-11-04 11:48:07 +01:00
Martin Kanis
9c287aff1f
KEYCLOAK-19709 Remove MapStorage.createCriteriaBuilder
2021-11-03 20:05:29 +01:00
Hynek Mlnarik
6966e0cfe9
KEYCLOAK-19749 Optimize DefaultModelCriteria creation
2021-11-03 17:42:26 +01:00
Hynek Mlnarik
877ae96590
KEYCLOAK-18854 Introduce storage-independent ModelCriteriaBuilder
2021-10-29 19:21:45 +02:00
Martin Kanis
af97849feb
KEYCLOAK-19030 Implement HotRodConnectionProvider
2021-10-27 14:07:19 +02:00
Hynek Mlnarik
53f02a50f6
KEYCLOAK-19562 Introduce generic trees
2021-10-25 13:28:48 +02:00
Michal Hajas
cfbb7f5553
KEYCLOAK-19593 Remove CRUD operations from MapStorage interface
...
Signed-off-by: Michal Hajas <mhajas@redhat.com>
2021-10-21 17:01:33 +02:00
Hynek Mlnarik
8ee992e638
KEYCLOAK-19482 Generate map entity cloners
2021-10-18 13:14:14 +02:00
Martin Kanis
d069ec7949
KEYCLOAK-18737 Show sessions functionality does not work consistently
...
Co-authored-by: Pavel Bezdienezhnykh
Co-authored-by: Martin Kanis <mkanis@redhat.com>
2021-10-13 14:04:14 +02:00
vramik
dacf28af84
KEYCLOAK-19536 Removal of client creates new instance of provider for each client role
2021-10-13 13:05:18 +02:00
Hynek Mlnarik
675e1b0941
KEYCLOAK-19505 Generate map entity delegates
2021-10-12 14:04:21 +02:00
Bart Monhemius
5b0986e490
[KEYCLOAK-18891] Add support for searching users by custom user attributes
...
Users can now be searched by custom attributes using 'q' in the query parameters. The implementation is roughly the same as search clients by custom attributes.
2021-10-12 13:08:47 +02:00
Hynek Mlnarik
576292a662
KEYCLOAK-19480 Introduce MapProtocolMapperEntity
2021-10-11 14:05:32 +02:00
Michal Hajas
6e591305f9
KEYCLOAK-19481 Make Id and RealmId mutable fields
2021-10-08 20:18:58 +02:00
Hynek Mlnarik
3abf9283a8
KEYCLOAK-19374 Create implementation based on annotation processor
...
Use of boxed types as started in 009d4ca445
is finalized here
to enable storing data in a map. MapClientEntity methods are
reordered for the sake of grouping the collection-based
properties together and understanding the connections between those.
2021-10-07 10:54:25 +02:00
Martin Kanis
30b3caee9f
KEYCLOAK-18445 Add support for cross-site model tests
2021-10-06 14:37:06 +02:00
Michal Hajas
da0c945475
KEYCLOAK-18940 Add support for searching composite roles
2021-10-01 12:41:19 +02:00
Daniel Fesenmeyer
0a2f8f5b63
KEYCLOAK-17887 fix endpoint for creating or updating realm localization texts for a given locale (UnsupportedOperation was thrown because RealmAdapter tried to change unmodifiable map):
...
- fix RealmAdapter to create a new map instead of trying to change unmodifiable map
- only provide POST endpoints for creating or updating the texts (to have the endpoints consistent with other Admin API endpoints)
- add tests
2021-09-30 15:07:56 +02:00
stianst
f471a110cd
KEYCLOAK-19408 Better client secrets
2021-09-29 18:19:43 +02:00
Martin Kanis
d606da9065
KEYCLOAK-18981 Infinispan: prevent fetching all sessions from remotes
2021-09-29 14:53:07 +02:00
Sven-Torben Janus
7c0d10130e
KEYCLOAK-18981 Infinispan: prevent fetching all sessions from remotes
2021-09-24 17:34:01 +02:00
Pedro Igor
10e425315f
[KEYCLOAK-19274] - Avoid loading queries from properties at runtime for Dist.X
2021-09-24 09:26:43 +02:00
Daniel Fesenmeyer
339224578e
KEYCLOAK-10603 adjust assignments to roles (user-role and group-role assignments, client-scope and client "scope mappings"): allow assignments of roles which are already indirectly assigned (e.g. by composite role)
...
- extend RoleMapperModel with method hasDirectRole(RoleModel), which only checks for direct assignment in contrast to the existing method hasRole(RoleModel)
- extend ScopeContainerModel with method hasDirectScope(RoleModel), which only checks for direct scope mapping in contrast to the existing method hasScope(RoleModel)
- use the new hasDirectRole and hasDirectScope methods to check whether a role is in the "available" list and whether it can be assigned (previously, the hasRole method was used for this purpose)
- add hint to UI that available roles contain effectively assigned roles which are not directly assigned
- adjust and extend tests
2021-09-22 13:56:29 +02:00