Alexander Schwartz
b019172813
Fix query to work on OracleDB CLOB
...
Closes #15528
2022-11-23 13:49:01 +01:00
danielFesenmeyer
18381ecd2e
Fix update of group mappers on certain changes of the group path
...
The group reference in the mapper was not updated in the following cases:
- group rename: when an ancestor group was renamed
- (only for JpaRealmProvider, NOT for MapRealmProvider/MapGroupProvider) group move: when a group was converted from subgroup to top-level or when a subgroup's parent was changed
Closes #15614
2022-11-23 10:12:34 +01:00
Stefan Guilhen
bc014d3e69
Upgrade Liquibase to version 4.16.1
...
* aligns with version used in quarkus
Closes #15089
2022-11-16 13:14:23 +01:00
Hynek Mlnarik
556146f961
Fix performance issues with many offline sessions
...
Fixes : #13340
2022-11-15 13:05:45 +01:00
Jia Chen
c3d53ae6e0
Returns an empty groups stream without querying the database if a user doesn't belong to any groups
...
Closes #12567
2022-11-09 13:07:42 +01:00
danielFesenmeyer
ec30c52a00
Fix paging on the "Users in role" endpoint, when JPA persistence is used
...
- add order-by-clause to the corresponding JPA query (ordering by username ASC)
- adjust admin-client RoleResource to return a List instead of a Set, by introducing new methods #getUserMembers (instead of #getRoleUserMembers - the "Role" prefix is not needed, because it is clear from the resource name that it's about roles)
- adjust tests to use the new method and check that the expected order is returned
Closes #14772
2022-11-07 20:44:06 +01:00
Lex Cao
43a3677cc7
Fix slow deletion on deleteClientSessionsByRealm
and deleteClientSessionsByUser
when using mysql and mariadb by converting sub-query to join
2022-10-27 10:37:15 +02:00
Michal Hajas
883e83e625
Remove deprecated methods from data providers and models
...
Closes #14720
2022-10-25 09:01:33 +02:00
vramik
791c457c32
Add possibility to limit field length in legacy event store
...
Closes #14888
2022-10-21 15:16:26 +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
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
Takashi Norimatsu
c60a34ac06
Keycloak 19 cannot register post logout redirect URIs whose length in total is over 4000
...
Closes #14013
2022-10-06 20:05:03 +02:00
Marek Posolda
fb24c86a3b
offline token issuance can cause violation of PRIMARY KEY constraint CONSTRAINT_OFFL_CL_SES_PK3 ( #14658 )
...
closes #13706
2022-10-03 12:54:12 +02:00
Alice Wood
1eb7e95b97
enhance existing group search functionality allow exact name search keycloak/keycloak#13973
...
Co-authored-by: Abhijeet Gandhewar <agandhew@redhat.com>
2022-09-30 10:37:52 +02:00
Alice Wood
55a660f50b
enhance group search to allow searching for groups via attribute keycloak/keycloak#12964
...
Co-authored-by: Abhijeet Gandhewar <agandhew@redhat.com>
Co-authored-by: Michal Hajas <mhajas@redhat.com>
2022-09-19 15:19:36 +02:00
danielFesenmeyer
3af1134975
Update IDP link username when sync mode is "force"
...
Closes #13049
2022-09-14 08:02:17 -03:00
Sebastian Schuster
cc8567e9f4
14294 fixed admin event expiration sql error
2022-09-12 09:15:47 +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
Martin Bartoš
0fcf5d3936
Reuse of token in TOTP is possible
...
Fixes #13607
2022-09-09 08:56:02 -03:00
Christoph Leistert
cc2bb96abc
Fixes #9482 : A user could be assigned to a parent group if he is already assigned to a subgroup.
2022-09-06 21:31:31 +02:00
Thomas Peter
19d69169b1
introduce expiration option for admin events
2022-09-06 16:05:53 +02:00
Michal Hajas
f69497eb28
KEYCLOAK-12988 Deprecate getUsers* methods in favor of searchUsers* variants
...
Closes #14018
2022-09-06 10:38:28 +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
Arnaud Martin
af0d97e534
Delete broker links for federated users when an identity provider is deleted
...
Closes #13731
2022-08-25 08:24:09 +02:00
David Anderson
ce1331f550
Remove bouncycastle dependency from keycloak-services ( #13489 )
...
Closes #12857
Co-authored-by: mposolda <mposolda@gmail.com>
2022-08-22 15:43:59 +02:00
Douglas Palmer
c00514d659
Support for post_logout_redirect_uris in OIDC client registration ( #12282 )
...
Closes #10135
2022-07-25 10:57:52 +02:00
Alexander Schwartz
a14501dd77
Remove concurrently removed elements from the result
...
Closes #13245
2022-07-22 08:25:15 +02:00
Alexander Schwartz
f490638971
Fall back to standard Liquibase locking
...
As DBLockProvider is "none" for the Map storage providers, there is no locking provided by DB Lock
provider.
Liquibase's classic lock provider has issues that need to be tackled in a follow-up issue, see https://github.com/liquibase/liquibase/issues/1311
Closes #13130
2022-07-19 10:45:31 +02: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
Alexander Schwartz
29a501552e
Disable the JpaUserFederatedStorageProvider when map storage is enabled
...
Closes #12895
2022-07-07 10:47:42 -03:00
Alexander Schwartz
4b20e90292
Move session persistence package to legacy-private module
...
Also, disabling the jpa session persister when map storage is enabled.
Closes #12712
2022-07-04 10:05:26 -03:00
Jon Koops
06d1b4faab
Restore enum variant of ResourceType
...
This reverts commit 3b5a578934
.
2022-06-30 12:20:51 -03:00
Alexander Schwartz
692ce0cd91
Moving ClientStorageProvider to the legacy modules
...
This prepares the move of CachedObject and CacheableStorageProviderModel
Closes #12531
fixup! Moving ClientStorageProvider to the legacy modules
2022-06-29 20:04:32 +02:00
vramik
3b5a578934
Change enum ResourceType to interface with String constants
...
Closes #12485
2022-06-29 13:35:11 +02:00
Alexander Schwartz
4b499c869c
Encapsulate MigrationModelManager in legacy module
...
Closes #12214
2022-06-28 10:53:04 +02:00
Pedro Igor
c972ec4383
Allow to conditionally bootstrap the default persistence unit
...
Closes #12662
2022-06-27 08:26:37 -03:00
Alexander Schwartz
cb0c881821
rename SingleEntityCredentialManager to SubjectCredentialManager
2022-06-21 08:53:06 +02:00
Hynek Mlnarik
e396d0daa1
Renaming SingleUserCredentialManager and UserModel.getUserCredentialManager():
...
- class SingleUserCredentialManager to SingleEntityCredentialManager
- method UserModel.getUserCredentialManager() to credentialManager()
Renaming of API without "get" prefix to make it consistent with other APIs like for example with KeycloakSession
2022-06-21 08:53:06 +02:00
Alexander Schwartz
bc8fd21dc6
SingleUserCredentialManager moving in
...
- UserStorageManager now handles authentication for old Kerberos+LDAP style
- new getUserByCredential method in MapUserProvider would eventually do the same.
2022-06-21 08:53:06 +02:00
Hynek Mlnarik
247ff52187
Introduce legacy datastore module and update dependencies
2022-06-21 08:53:06 +02:00
Marek Posolda
eed944292b
Make script providers working on JDK 17 ( #11322 )
...
Closes #9945
2022-05-27 12:28:50 +02:00
Michal Hajas
0bda7e6038
Introduce map event store with CHM implementation
...
Closes #11189
2022-05-17 12:57:35 +02:00
Michal Hajas
d3b43a9f59
Make sure there is always Realm or ResourceServer when searching for authz entities
...
Closes #11817
2022-05-11 07:20:01 -03: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
Sven-Torben Janus
0efa4afd49
Evaluate composite roles for hardcoded LDAP roles/groups
...
Closes: 11771
see also KEYCLOAK-18308
2022-05-02 14:13:37 +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
Pedro Igor
52d205ca91
Allow exposing some initial provider config options via web site ( #10572 )
...
* Allow exposing some initial provider config options via web site
Co-authored-by: Stian Thorgersen <stian@redhat.com>
Closes #10571
* Include type to provider options, and hide build-icon column as it's not relevant
Co-authored-by: stianst <stianst@gmail.com>
2022-04-19 08:01:42 +02:00
msvechla
820ab52dce
Add support for filtering by enabled attribute on users count endpoint ( #9842 )
...
Resolves #10896
2022-04-13 13:57:22 -03:00
Joerg Matysiak
235f0f3963
Add index to admin events table to improve performance of admin event view
...
Closes #10625
2022-04-06 09:12:35 +02:00
Michal Hajas
99c06d1102
Authorization services refactoring
...
Closes : #10447
* Prepare logical layer to distinguish between ResourceServer id and client.id
* Reorder Authz methods: For entities outside of Authz we use RealmModel as first parameter for each method, to be consistent with this we move ResourceServer to the first place for each method in authz
* Prepare Logical (Models/Adapters) layer for returning other models instead of ids
* Replace resourceServerId with resourceServer model in PermissionTicketStore
* Replace resourceServerId with resourceServer model in PolicyStore
* Replace resourceServerId with resourceServer model in ScopeStore
* Replace resourceServerId with resourceServer model in ResourceStore
* Fix PermissionTicketStore bug
* Fix NPEs in caching layer
* Replace primitive int with Integer for pagination parameters
2022-03-22 20:49:40 +01:00
keycloak-bot
c71aa8b711
Set version to 999-SNAPSHOT ( #10784 )
2022-03-22 09:22:48 +01:00
Bruno Oliveira da Silva
8aa394ca6b
Update to Liquibase 4.8.0
...
Closes #10678
Co-authored-by: Stefan Guilhen <sguilhen@redhat.com>
Co-authored-by: Martin Kanis <mkanis@redhat.com>
2022-03-16 13:46:31 -03:00
Alexander Schwartz
8d1a47f768
adding missing log4j configuration to prevent errors in the log
...
Closes #10613
2022-03-14 10:12:49 -03:00
Pedro Igor
ad865e75c1
Change the flush mode to auto and fixing how entities are checked if they are loaded in the EM
...
Closes #10411
2022-03-11 12:21:52 -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
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
keycloak-bot
d9f1a9b207
Set version to 18.0.0-SNAPSHOT ( #10165 )
2022-02-11 21:28:06 +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
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
bal1imb
9621d513b5
KEYCLOAK-18727 Improve user search query
2022-01-26 17:03:05 +01:00
Guus der Kinderen
213b1f5042
Closes #9562 : Add DB index for UserEntity getRealmUserByServiceAccount
2022-01-20 09:52:54 +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
keycloak-bot
9f3d4a7d42
Set version to 17.0.0-SNAPSHOT
2021-12-20 10:50:39 +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
Kashif Saadat
d9bf511406
KEYCLOAK-19052: Optimised (split) the clearExpiredEvents query to reduce execution time
2021-11-30 22:25:55 +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
vramik
dacf28af84
KEYCLOAK-19536 Removal of client creates new instance of provider for each client role
2021-10-13 13:05:18 +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
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
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
Luca Graf
2c22ccbf97
KEYCLOAK-19286 Use client storage provider id to construct client StorageId, so that a valid 'external' client id will be generated.
2021-09-20 19:43:20 +02:00
Dominik
4090114398
KEYCLOAK-16246 Revert changes from workaround made in KEYCLOAK-16244 after upgrading to quarkus 2
...
Also fixed a small type in testclass.
This reverts commit 9b2f2015f7
.
2021-09-16 15:42:48 -03:00
rmartinc
47484c1aed
KEYCLOAK-18842: deleteExpiredClientSessions very slow on MariaDB
2021-09-10 08:25:33 +02:00
vramik
d216f8f748
KEYCLOAK-19104 Add custom ForeignKeySnapshotGenerator
2021-09-02 09:59:26 +02:00
Martin Kanis
6886bd6651
KEYCLOAK-18941 ExecutionException when computed future - InfinispanCacheInitializer
2021-08-05 18:28:27 +02:00
Hynek Mlnarik
2acb43a627
KEYCLOAK-18617 Fix index on client attributes
2021-08-05 15:35:55 +02:00
keycloak-bot
262ec3d031
Set version to 16.0.0-SNAPSHOT
2021-07-30 14:56:10 +02:00
Hynek Mlnarik
0cdce1340d
KEYCLOAK-18680 Always close result stream
2021-07-30 09:40:39 +02:00
bal1imb
fbaeb18a5f
KEYCLOAK-18471 Added ID to admin event object.
2021-07-16 12:46:07 +02:00
Daniel Fesenmeyer
a25c70784c
KEYCLOAK-18467 support unicode for realm localization texts
2021-07-15 10:30:42 +02:00
Hryhorii Hevorkian
2803685cd7
KEYCLOAK-18353 Implement Pushed Authorization Request inside the Keycloak
...
Co-authored-by: Takashi Norimatsu <takashi.norimatsu.ws@hitachi.com>
Co-authored-by: mposolda <mposolda@gmail.com>
2021-07-03 08:47:42 +02:00
vramik
2b9b50d50a
KEYCLOAK-18194 fix migration of default role when realm id contains apostrophe
2021-07-01 11:22:11 +02:00
Hynek Mlnarik
8a83ec83ac
KEYCLOAK-18589 map-storage profile for KeycloakServer
2021-06-30 20:47:17 +02:00
keycloak-bot
13f7831a77
Set version to 15.0.0-SNAPSHOT
2021-06-18 10:42:27 +02:00
vramik
e3c76035b2
KEYCLOAK-18359 Default role migration is not performed correctly when empty realm id
2021-06-14 20:54:37 +02:00
Václav Muzikář
9854f21ace
KEYCLOAK-18332 Client Scopes are reset to realm's default when Client is updated
2021-06-11 07:41:18 +02:00
vramik
95bf912dc9
KEYCLOAK-18035 Fix update client with default default scope assigned as optional
2021-06-07 16:22:55 +02:00
vramik
2bf727d408
KEYCLOAK-17753 remove KeycloakModelUtils.isClientScopeUsed method
2021-05-28 21:07:14 +02:00
Michal Hajas
4dcb69596b
KEYCLOAK-18146 Search for clients by client attribute when doing saml artifact resolution
2021-05-27 23:02:22 +02:00
Hynek Mlnarik
3d8f152787
KEYCLOAK-17747 KEYCLOAK-17754 Optimize getClients() calls
2021-05-27 22:12:56 +02:00
Hynek Mlnarik
94f676cb95
KEYCLOAK-18286 Add index to client_attributes
2021-05-27 13:31:33 +02:00
Martin Kanis
1ab0d585a9
KEYCLOAK-11019 Initial support for lazy offline user-session loading
...
Co-authored-by: Thomas Darimont <thomas.darimont@googlemail.com>
Co-authored-by: Thomas Darimont <thomas.darimont@gmail.com>
2021-05-26 09:54:28 +02:00
Hynek Mlnarik
860fc4c06c
KEYCLOAK-17756 KEYCLOAK-17757 Optimize IdP-first lookup
2021-05-20 14:44:55 +02:00