Pedro Igor
26c87af9f4
Avoiding unnecessary roundtrips to the database when evaluating permissions
...
Closes #12148
Co-authored-by: Vlasta Ramik <vramik@users.noreply.github.com>
2022-05-25 12:23:15 +02:00
vramik
ad3da7f5e4
JPA map storage: disable failing on unknown properties when deserializing the object
...
Closes #12173
2022-05-25 09:31:40 +02:00
vramik
24171d2e47
Rename providers from jpa-map-storage to jpa
...
Closes #12098
2022-05-23 16:47:51 +02:00
vramik
0c3aa597f9
JPA map storage: test failures after cache was disabled
...
Closes #12118
2022-05-23 13:01:30 +02:00
Alexander Schwartz
d1a92680f5
Optimize querying sub-groups of groups
...
Closes #12080
2022-05-19 14:46:53 +02:00
Martin Kanis
0e9f2badff
Make all fields in HotRod store optional
2022-05-18 20:50:47 +02:00
Alexander Schwartz
1a95a58893
Graceful handling if composite roles have been removed concurrently.
...
Closes #12003
2022-05-17 13:29:15 +02:00
Michal Hajas
0bda7e6038
Introduce map event store with CHM implementation
...
Closes #11189
2022-05-17 12:57:35 +02:00
vramik
e1eb9d6d64
Replace equals with == when comparing SearchableFields in Jpa*ModelCriteriaBuilder and Ldap*ModelCriteriaBuilder
...
Closes #11843
2022-05-16 21:51:38 +02:00
Michal Hajas
b86f205cda
Make KeycloakServer runnable with external Infinispan server
...
Closes #12011
Closes #12014
2022-05-16 21:50:35 +02:00
Martin Kanis
0d6bbd437f
Merge single-use token providers into one
...
Fixes first part of: #11173
* Merge single-use token providers into one
* Remove PushedAuthzRequestStoreProvider
* Remove OAuth2DeviceTokenStoreProvider
* Delete SamlArtifactSessionMappingStoreProvider
* SingleUseTokenStoreProvider cleanup
* Addressing Michal's comments
* Add contains method
* Add revoked suffix
* Rename to SingleUseObjectProvider
2022-05-11 13:58:58 +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
Alexander Schwartz
bfab03b837
Throw an IllegalArgumentException once a ClassCastException occurs.
...
Closes #11775
2022-05-11 09:19:09 +02:00
Michal Hajas
6b5c417742
Add HotRod store for authorization services
...
Closes #9679
2022-05-06 15:31:38 +02:00
Martin Kanis
00ccc78360
Add index to entityVersion for all HotRod entities
2022-05-05 17:42:13 +02:00
Michal Hajas
fc974fc019
Update composite roles on child role removal
...
Closes #11769
2022-05-05 15:18:18 +02:00
Alexander Schwartz
e0d7ad1be5
Leverage the equal() method on the wrapped entity instead of creating a string.
...
Closes #11764
2022-05-03 13:29:12 +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
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
Alexander Schwartz
cd20f45b8a
Ensure that values of attributes are unique in the database
...
While this is already ensured on the Java level when using a Set, database inconsistencies as occurred with Hibernate could lead to follow-up problems that are hard to analyze (as seen in #11666 ).
Closes #11671
2022-04-28 12:04:05 +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
0f147ccdc0
Enlist JPA transaction in JpaMapStorageProvider.getStorage
...
Closes #11230
Co-authored-by: Alexander Schwartz <aschwart@redhat.com>
2022-04-23 08:19:33 +02:00
Hynek Mlnarik
0ce5dfc09c
Remove dependency of map on services
...
Fixes: 8903
2022-04-22 17:27:21 +02:00
Alexander Schwartz
90155862f3
LdapMapStorageProvider to use a full inline class for MapStorage
...
Closes #11373
2022-04-22 17:25:33 +02:00
Stefan Guilhen
0c7a8c8684
Login Failures Map JPA implementation
...
Closes #9664
2022-04-22 10:47:04 +02:00
vramik
3d1118223b
New Storage: Testsuite fails when JPA Map storage is enabled for groups
...
Closes #11369
2022-04-21 11:14:35 +02:00
Stefan Guilhen
f48d468641
Increase column size for keys that refer to entities that can be stored in different storages (foreign keys)
...
Closes #11329
2022-04-21 08:50:37 +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
Stefan Guilhen
ae90b232ff
Realms Map JPA implementation
...
Closes #9661
2022-04-20 14:40:38 +02:00
Pedro Igor
c5e4dc8cec
Associated permissions should only add resource type permissions if the resource is an instance ( #11220 )
...
Closes #11148
2022-04-19 09:10:14 +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
Bruno Oliveira da Silva
f9d4566723
Replace the cryptographic algorithm by SHA-2
...
The static code scanning analysis detected the usage of MD5 as part of [
MapDeploymentStateProviderFactory](a6dd9dc0f1/model/map/src/main/java/org/keycloak/models/map/deploymentState/MapDeploymentStateProviderFactory.java (L58-L58)
).
Even though we could not find any ways of exploiting the code, we should
avoid its usage considering that MD5 is not collision-resistant.
Resolves #11290
2022-04-18 07:10:04 -03:00
Martin Kanis
a2d7cd7a5c
Hot Rod map storage: User / client session no-downtime store
2022-04-14 15:34:22 +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
Alexander Schwartz
5c1a8d401d
Store time as seconds as a long in map store
...
This avoids overflowing the value in 2038.
Closes #10960
2022-04-12 14:22:44 +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
Michal Hajas
6e181a51d5
Add test-jar dependency only if maven.test.skip property is false
...
Closes #11192
2022-04-11 10:37:18 -03: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
Pedro Igor
834a276767
NPE when caching policies based on scopes without a resource
...
Closes #11180
2022-04-08 08:43:08 -03:00
Stefan Guilhen
d952669f69
Add clearUpdatedFlag so the flag in associated protocol mappers can be cleared as well
...
Closes #11118
2022-04-08 09:36:55 +02:00
Michal Hajas
1f2ebf4cba
Add HotRod no downtime store for Realms
...
Closes #9670
2022-04-08 09:36:01 +02:00
Martin Kanis
3bb4081bd1
Convert user / client session entities into interface
2022-04-08 09:34:01 +02:00
Michal Hajas
f4f5928727
Add type to filters in MapResourceStore
...
Closes #11154
2022-04-07 15:10:20 -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
Martin Kanis
395bd447f2
Hot Rod map storage: Login failure no-downtime store
2022-04-01 20:43:18 +02:00
vramik
8ff768b33b
JPA map storage: Authentication session no-downtime store
...
Closes #9665
2022-03-30 13:43:35 +02:00
Martin Kanis
3356e8b098
Convert login failure entities into interface
2022-03-29 18:40:53 +02:00
Stefan Guilhen
d8bee26ec8
Implement AbstractClientEntity.isUpdated to account for changes in associated protocol mappers.
...
Closes #10927
2022-03-29 18:35:28 +02:00
Martin Kanis
e493b08fa7
Add expiration field to root authentication session
2022-03-23 07:47:47 +01: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
Martin Kanis
0faf3987f6
Hot Rod map storage: Authentication session no-downtime store
2022-03-22 09:05:52 +01:00
Martin Kanis
2394855f48
Add merge tasks optimization to ConcurrentHashMapKeycloakTransaction.delete
2022-03-21 16:45:48 +01:00
Michal Hajas
c18a682f50
Do not store undefined values in store
...
Closes #10744
2022-03-17 16:44:33 +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
Martin Kanis
1a4d7c297a
Change authentication sessions map to set ( #10596 )
2022-03-10 08:45:24 +01:00
Alexander Schwartz
18f391d8c4
Fix spelling error in field and classname
...
It's always a converter, unless electricity is involved.
Closes #10573
2022-03-09 08:28:52 -03:00
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
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
Hynek Mlnarik
8889122dc1
KEYCLOAK-18845 Remove key type in map storage (simplify generics)
2021-07-23 17:04:20 +02:00
Hynek Mlnarik
07402d9aac
KEYCLOAK-18845 Remove key type in map storage (move StringKeyConvertor to CHM)
2021-07-23 17:04:20 +02:00
Hynek Mlnarik
44cd6cd5fb
KEYCLOAK-18824 Simplify MapStorageTransaction and move registerEntityForChanges to CHM transaction
2021-07-21 20:58:26 +02:00
Pedro Igor
d29d945cc4
[KEYCLOAK-18857] - Do not force default to RS256 when verifying tokens sent by clients and JWK does not hold an algorithm
2021-07-21 11:09:02 +02:00
Hynek Mlnarik
1f3650dcd9
KEYCLOAK-18815 Update MapKeycloakTransaction return types to match MapStorage
2021-07-20 21:48:27 +02:00
Hynek Mlnarik
009d4ca445
KEYCLOAK-18747 Turn MapClientEntity into interface + introduce delegates
...
Given that the Map*Entity is turned into an interface, it makes more sense
to use non-primitive types to allow for null values. This enables signalizing
that an entity does not define a particular value, and builds a base for definition
of instances with defaults: If a value is not present in the queried instance
(i.e. is `null`), the value would be obtained from a delegate containing
the defaults.
2021-07-17 15:45:46 +02:00
bal1imb
fbaeb18a5f
KEYCLOAK-18471 Added ID to admin event object.
2021-07-16 12:46:07 +02:00
mhajas
dc1c9b944f
KEYCLOAK-18370 Introduce QueryParameters
2021-07-15 13:25:31 +02:00
Daniel Fesenmeyer
a25c70784c
KEYCLOAK-18467 support unicode for realm localization texts
2021-07-15 10:30:42 +02:00
vramik
a8fdd79d1b
KEYCLOAK-17763 Inefficient call to ClientProvider.getClientsStream()
2021-07-12 11:51:15 +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
Hynek Mlnarik
f15536a88c
KEYCLOAK-18635 Move classes specific to ConcurrentHashMap to chm package
2021-07-02 06:55:19 +02:00
vramik
4db2c3f570
KEYCLOAK-15572 make attributes multi-valued for map storage entities
2021-07-01 12:21:33 +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
f0e777c592
KEYCLOAK-18414 Remove unnecessary id parameter from update operation
2021-07-01 11:18:53 +02:00
Hynek Mlnarik
0523dad4d5
KEYCLOAK-18414 Remove unnecessary id parameter from create operation
2021-07-01 11:18:53 +02:00
lbortoli
164f3df080
KEYCLOAK-18502 - Support for additional parameters from the backchannel authentication request and backchannel authentication callback.
2021-07-01 00:31:26 +02:00
Hynek Mlnarik
8a83ec83ac
KEYCLOAK-18589 map-storage profile for KeycloakServer
2021-06-30 20:47:17 +02:00
mhajas
b8565408ca
KEYCLOAK-17781 Make exists and notExists collection aware
2021-06-30 10:48:39 +02:00
Sebastian Rose
ca6b78b730
KEYCLOAK-18390 GroupProvider search implementation of JPA and Map delivers different results
2021-06-29 14:59:01 +02:00
Hynek Mlnarik
bfb134a6ce
KEYCLOAK-18091 Fail session loading when interrupted
2021-06-22 08:50:08 +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
Michal Hajas
d2a8a95d79
KEYCLOAK-18369 Create MapKeycloakTransaction interface
2021-06-14 08:31:59 +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
mposolda
91865fa93e
KEYCLOAK-18368 Invalidate client session after refresh token re-use
2021-06-09 14:43:29 +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
Martin Kanis
23aee6c210
KEYCLOAK-16616 Limit number of authSessios per rootAuthSession
2021-05-27 22:10:36 +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
Pedro Igor
a0f8d2bc0e
[KEYCLOAK-17399] - Review User Profile SPI
...
Co-Authored-By: Vlastimil Elias <vlastimil.elias@worldonline.cz>
2021-05-20 08:44:24 -03:00
vramik
1c283cdebc
KEYCLOAK-14301 OTP secrets migrated incorrectly
2021-05-20 13:19:27 +02:00
vramik
3913526934
KEYCLOAK-18031 Update to 13.0.0 fails due to liquibase error
2021-05-20 11:29:02 +02:00
mhajas
e609949264
KEYCLOAK-17267 Add index to user attribute name and value to support user sync from ldap
2021-05-19 13:38:11 +02:00
Hynek Mlnarik
c02a706a86
KEYCLOAK-17748 Optimize validation of redirect URIs in logout endpoint
...
Reimplementation of KEYCLOAK-17718
2021-05-18 20:31:21 +02:00
vramik
4d776cd780
KEYCLOAK-18137 Fix introduced SPI name
2021-05-18 20:30:21 +02:00
Václav Muzikář
62e6883524
KEYCLOAK-17084 KEYCLOAK-17434 Support querying clients by client attributes
2021-05-14 13:58:53 +02:00
Peter Flintholm
919899b994
KEYCLOAK-18039: Optimise offline session load on startup
...
Co-authored-by: Hynek Mlnarik <hmlnarik@redhat.com>
2021-05-13 16:26:26 +02:00
Hynek Mlnarik
8feefe94ac
KEYCLOAK-18074 Ignore server version for MySQL in ChangeLogHistoryService
2021-05-12 15:01:30 +02:00
Pedro Igor
6397671c88
[KEYCLOAK-17885] - Delete user-managed policies when removing groups
2021-05-10 16:33:23 -03:00
keycloak-bot
4b44f7d566
Set version to 14.0.0-SNAPSHOT
2021-05-06 14:55:01 +02:00
Hynek Mlnarik
98a88e3e8b
KEYCLOAK-17991 Introduce preview feature for map storage
2021-05-06 11:38:41 +02:00
Hynek Mlnarik
253dee077e
KEYCLOAK-17830 Fix realm Map*Entity to/fromModel
2021-05-06 11:38:41 +02:00
Hynek Mlnarik
93feae104b
KEYCLOAK-16127 Unify registerEntityForChanges
2021-05-06 11:38:41 +02:00
Hynek Mlnarik
6d97a573e6
KEYCLOAK-17696 Make MapStorageFactory amphibian
2021-05-06 11:38:41 +02:00
Hynek Mlnarik
e46a5484c5
KEYCLOAK-17695 Split MapStorage provider and provider factory
2021-05-06 11:38:41 +02:00
vramik
020dd530b9
KEYCLOAK-18009 Invalid role creation with oracle database
2021-05-06 09:01:42 +02:00
mposolda
20fc430be0
KEYCLOAK-17874 Server cannot be started with oracle19cRAC
2021-05-05 13:12:07 +02:00
vramik
0cecd0f33f
KEYCLOAK-17992 MSSQL not updatable
2021-05-05 13:12:07 +02:00
Hynek Mlnarik
96501760e0
KEYCLOAK-17501 Add support for map storage in WildFly
2021-05-03 16:00:30 +02:00
Joerg Matysiak
ee315ecab1
KEYCLOAK-17934 * fixed cache inconsistency when cache limit is exceeded
2021-05-03 15:50:23 +02:00
Hynek Mlnarik
32fb45eb5b
KEYCLOAK-17774 Implement equals method for work cache events
...
Co-Authored-By: stianst <stianst@gmail.com>
Co-Authored-By: Michal Hajas <mhajas@redhat.com>
2021-05-03 10:47:15 +02:00
Hynek Mlnarik
7d4255b2a1
KEYCLOAK-17871 Add support for running parallel model tests
2021-04-30 16:13:57 +02:00
Hynek Mlnarik
3e91e6f966
KEYCLOAK-17870 Fix ConcurrentModificationException upon liquibase initialization
2021-04-30 16:13:57 +02:00
Hynek Mlnarik
df4f88a0c8
KEYCLOAK-17869 Fix non-existent work cache configuration
2021-04-30 16:13:57 +02:00
Takashi Norimatsu
65c48a4183
KEYCLOAK-12137 OpenID Connect Client Initiated Backchannel Authentication (CIBA) ( #7679 )
...
* KEYCLOAK-12137 OpenID Connect Client Initiated Backchannel Authentication (CIBA)
Co-authored-by: Andrii Murashkin <amu@adorsys.com.ua>
Co-authored-by: Christophe Lannoy <c4r1570p4e@gmail.com>
Co-authored-by: Pedro Igor <pigor.craveiro@gmail.com>
Co-authored-by: mposolda <mposolda@gmail.com>
2021-04-29 15:56:39 +02:00
Pedro Igor
60fac7c3c4
forcing cache encoding to avoid unnecessary byte[] conversions
2021-04-29 12:36:03 +02:00
vramik
162043beec
KEYCLOAK-17615 Move database initialization from KeycloakApplication to JpaConnectionProviderFactory
2021-04-28 13:43:48 +02:00
Martin Kanis
515bfb5064
KEYCLOAK-16378 User / client session map store
...
Co-authored-by: Martin Kanis <mkanis@redhat.com>
Co-authored-by: Hynek Mlnarik <hmlnarik@redhat.com>
2021-04-28 09:09:15 +02:00
Yoshiyuki Tabata
45202bd49a
KEYCLOAK-17637 Client Scope Policy for authorization service
2021-04-26 08:58:33 -03:00
Hynek Mlnarik
ff4c0e4412
KEYCLOAK-16935 Fix liquibase to work with MySQL 8.0.23+
2021-04-21 20:20:33 +02:00
Michal Hajas
1e2db74d86
KEYCLOAK-16932 Authorization map storage
2021-04-16 17:26:16 +02:00
AlistairDoswald
8b3e77bf81
KEYCLOAK-9992 Support for ARTIFACT binding in server to client communication
...
Co-authored-by: AlistairDoswald <alistair.doswald@elca.ch>
Co-authored-by: harture <harture414@gmail.com>
Co-authored-by: Michal Hajas <mhajas@redhat.com>
2021-04-16 12:15:59 +02:00
Takashi Norimatsu
42dec08f3c
KEYCLOAK-16805 Client Policy : Support New Admin REST API (Implementation) ( #7780 )
...
* KEYCLOAK-16805 Client Policy : Support New Admin REST API (Implementation)
* support tests using auth-server-quarkus
* Configuration changes for ClientPolicyExecutorProvider
* Change VALUE of table REALM_ATTRIBUTES to NCLOB
* add author tag
* incorporate all review comments
Co-authored-by: mposolda <mposolda@gmail.com>
2021-04-06 16:31:10 +02:00
vramik
185075d373
KEYCLOAK-14552 Realm Map Store
2021-03-31 15:49:03 +02:00
rmartinc
0a0caa07d6
KEYCLOAK-17215 Slowness issue while hitting /auth/admin/realms/$REALM/clients?viewableOnly=true after DELETE a role
2021-03-31 12:57:17 +02:00
vramik
c3b9c66941
KEYCLOAK-17460 invalidate client when assigning scope
2021-03-30 10:58:16 +02:00
Hynek Mlnarik
a36fafe04e
KEYCLOAK-17409 Support for amphibian (both component and standalone) provider
2021-03-25 13:28:20 +01:00
Michito Okai
298ab0bc3e
KEYCLOAK-7675 Support for Device Authorization Grant
2021-03-15 10:09:20 -03:00
Hiroyuki Wada
9d57b88dba
KEYCLOAK-7675 Prototype Implementation of Device Authorization Grant.
...
Author: Hiroyuki Wada <h2-wada@nri.co.jp>
Date: Thu May 2 00:22:24 2019 +0900
Signed-off-by: Łukasz Dywicki <luke@code-house.org>
2021-03-15 10:09:20 -03:00
Hynek Mlnarik
4946484cb6
KEYCLOAK-17377 Fix invalidation cluster tests (do not hide failures)
2021-03-11 16:14:59 +01:00
vramik
6e501946b1
KEYCLOAK-17021 Client Scope map store
2021-03-08 21:59:28 +01:00
vramik
2c64a56072
KEYCLOAK-17325 Use KeycloakMarshallUtil for writing collection for LockEntryPredicate
2021-03-06 08:39:00 +01:00
Pedro Igor
0f30b3118a
[KEYCLOAK-16676] - Client attributes should not be stored if null or empty
2021-03-03 15:37:05 +01:00
stefvdwel
11b0c23937
Reduced code duplication
2021-02-17 09:40:19 -03:00
stefvdwel
b97f5eb128
Added PermissionTicket count test.
2021-02-17 09:40:19 -03:00
stefvdwel
5a500055f6
Added permission ticket /count endpoint. Todo: testing
2021-02-17 09:40:19 -03:00
mposolda
f4b5942c6c
KEYCLOAK-16755 ClearExpiredUserSessions optimization. Rely on infinispan expiration rather than Keycloak own background task.
2021-02-04 08:49:42 +01:00
Pedro Igor
cdf0ead957
[KEYCLOAK-16780] - Allow batching writes to storage when running migration ( #7717 )
...
Co-authored-by: Hynek Mlnařík <hmlnarik@users.noreply.github.com>
Co-authored-by: Hynek Mlnařík <hmlnarik@users.noreply.github.com>
2021-01-29 09:35:19 -03:00
Martin Kanis
8432513daa
KEYCLOAK-16908 Refactor UserSessionPersisterProvider
2021-01-29 09:29:00 +01:00
mposolda
99a70267d9
KEYCLOAK-16801 Improve performance of ClearExpiredEvents background task
2021-01-27 09:57:46 +01:00
Michito Okai
7f421fb20a
KEYCLOAK-16844 Create an index to support offline sessions loading
2021-01-21 22:48:54 +01:00
Hynek Mlnarik
78c05d2da2
KEYCLOAK-16118 Replace MapStorage.entrySet() with search by criteria
...
* Add model class parameter to MapStorage
* Add shortcut read(id) method to MapKeycloakTransaction
2021-01-20 16:20:56 +01:00
Hynek Mlnarik
6c07679446
KEYCLOAK-16584 Rename map to CRUD operations
...
* rename putIfAbsent() to create(), get() to read(), put() to update(), remove() to delete()
* move ConcurrentHashMapStorage to org.keycloak.models.map.storage.chm package
* Add javadoc to MapStorage
2021-01-20 16:20:56 +01:00
Martin Kanis
9f580e3ed8
KEYCLOAK-15695 Streamification cleanup
2021-01-20 14:39:53 +01:00
Michal Hajas
ba8e2fef6b
KEYCLOAK-15524 Cleanup user related interfaces
2021-01-18 16:56:10 +01:00
Yoshiyuki Tabata
ab1dba5fa6
KEYCLOAK-11908 Support for conditional creating indices based on number
...
of records
2021-01-12 09:06:27 +01:00
vramik
1402d021de
KEYCLOAK-14846 Default roles processing
2021-01-08 13:55:48 +01:00
keycloak-bot
75be33ccad
Set version to 13.0.0-SNAPSHOT
2020-12-16 17:31:55 +01:00
Stefan Guilhen
d6422e415c
[KEYCLOAK-16508] Complement methods for accessing user sessions with Stream variants
2020-12-15 19:52:31 +01:00
Michal Hajas
8e376aef51
KEYCLOAK-15847 Add MapUserProvider
2020-12-10 08:57:53 +01:00
Martin Kanis
f6be378eca
KEYCLOAK-14556 Authentication session map store
2020-12-07 20:48:59 +01:00
Stefan Guilhen
edef93cd49
[KEYCLOAK-16232] Streamify the UserCredentialStore and UserCredentialManager interfaces
2020-12-07 19:48:35 +01:00
Stefan Guilhen
73d0bb34c4
[KEYCLOAK-16232] Replace usages of deprecated collection-based methods with the respective stream variants
2020-12-07 19:48:35 +01:00
Jan Lieskovsky
833bf98643
[KEYCLOAK-15692] Upgrade to Wildfly "21.0.1.Final"
...
Base fixes:
* [KEYCLOAK-15780] Upgrade Keycloak to Wildfly 21.0.0.Beta1 / Wildfly Core 13.0.0.Beta6
* [KEYCLOAK-16031] Upgrade Keycloak to Wildfly 21.0.0.Final / Wildfly Core 13.0.1.Final
* [KEYCLOAK-16442] Upgrade Keycloak to Wildfly 21.0.1.Final / Wildfly Core 13.0.3.Final
Other (dependent) fixes:
* [KEYCLOAK-15408] Deprecate former Wildfly and Wildfly Core versions in Arquillian's
testsuite pom.xml file as part of the upgrade script
* [KEYCLOAK-15442] Update the version of 'jboss-parent' as part of the Wildfly upgrade
script if necessary
* [KEYCLOAK-15474] Add --verbose and --force options to the Wildfly upgrade automated script
* [KEYCLOAK-15649] Update "urn:jboss:domain:infinispan:10.0" version as part of the Wildfly
upgrade automated script
* [KEYCLOAK-15652] Wildfly upgrade automated script - Align Python artifact version
comparsion algorithm with the Maven / Java one
Signed-off-by: Jan Lieskovsky <jlieskov@redhat.com>
2020-11-26 09:25:29 +01:00
Hynek Mlnarik
363df6cab4
KEYCLOAK-16405 Tests for storage logical layer
2020-11-25 12:16:48 +01:00
Stefan Guilhen
84df008bc2
[KEYCLOAK-16341] Make the new stream-based methods in server-spi user interfaces default instead of the collection-based versions.
...
- this ensures that providing implementation for the collection-based methods is enough, which preserves
backwards compatibility with older custom implementations.
- alternative interfaces now allow new implementations to focus on the stream variants of the query methods.
2020-11-18 21:07:51 +01:00
mposolda
9b2f2015f7
KEYCLOAK-16244 RealmRealmLocalizationResourceTest fails on auth-server-quarkus
2020-11-11 14:56:31 +01:00
Pedro Igor
852c4a57ff
[KEYCLOAK-14468] - Scope permission sometimes not removed when removing scopes
2020-11-11 08:44:28 +01:00
Martin Kanis
d9029b06b9
KEYCLOAK-15889 Streamification of ProtocolMappers
2020-11-10 16:40:34 +01:00
Stefan Guilhen
aa46735173
[KEYCLOAK-15200] Complement methods for accessing users with Stream variants
2020-11-10 15:13:11 +01:00
Thomas Darimont
de20830412
KEYCLOAK-9551 KEYCLOAK-16159 Make refresh_token generation for client_credentials optional. Support for revocation of access tokens.
...
Co-authored-by: mposolda <mposolda@gmail.com>
2020-11-06 09:15:34 +01:00
Hynek Mlnarik
8060e3b3ac
KEYCLOAK-16115 Remove need for MapStorage.keySet() and values()
2020-11-03 08:46:42 +01:00
Hynek Mlnarik
f0bdcdd204
KEYCLOAK-16113 Add JPA event test
2020-10-30 21:08:27 +01:00
Christoph Leistert
e131de9574
KEYCLOAK-14855 Added realm-specific localization texts which affect texts in every part of the UI (admin console / login page / personal info page / email templates). Also new API endpoints and a new UI screen to manage the realm-specific localization texts were introduced.
...
Co-authored-by: Daniel Fesenmeyer <daniel.fesenmeyer@bosch.io>
2020-10-30 08:02:43 -03:00
vramik
785f2e78bc
KEYCLOAK-14977 create MapRoleProvider
2020-10-30 08:15:22 +01:00
Martin Kanis
b494b8bb44
KEYCLOAK-16034 Not scroll-able event queries for postgres and mssql
2020-10-30 08:10:00 +01:00
Hynek Mlnarik
925f089d62
KEYCLOAK-16077 Remove need for MapStorage.replace
2020-10-29 15:40:47 +01:00
mposolda
4f93dc8376
KEYCLOAK-11693 Clean startup log output in Keycloak.X
2020-10-23 09:33:54 -03:00
Martin Kanis
f5c52345fc
KEYCLOAK-16033 Revert Jpa*EventQuery to getResultList
2020-10-22 13:33:30 +02:00
Daniel Fesenmeyer
de8d2eafa3
KEYCLOAK-14781 Extend Admin REST API with search by federated identity
...
- Add parameters idpAlias and idpUserId to the resource /{realm}/users and allow it to be combined with the other search parameters like username, email and so on
- Add attribute "federatedIdentities" to UserEntity to allow joining on this field
- extend integration test "UserTest"
2020-10-22 08:51:26 +02:00
mhajas
4556e858ad
KEYCLOAK-15522 Use AbstractStorageManager in UserStorageManager
2020-10-15 20:41:13 +02:00
Martin Kanis
086f7b4696
KEYCLOAK-15450 Complement methods for accessing realms with Stream variants
2020-10-14 08:16:49 +02:00
testn
269a72d672
KEYCLOAK-15184: Use static inner class where possible
2020-10-09 23:37:08 +02:00
mposolda
ff05072c16
KEYCLOAK-15770 Skip creating session for docker protocol authentication
2020-10-09 07:53:26 +02:00
Markus Till
72f73f153a
UserProfile M1
2020-10-05 09:59:44 -03:00
Achim Hügen
66dfa32cd5
KEYCLOAK-14302 Fix the setting of the lifespan for cache entries. This bug caused that jobs were no longer executed after temporary network partition in multinode setup, because the cluster based locks used for the coordination were never released.
2020-10-02 11:34:44 +02:00
Thomas Darimont
12576e339d
KEYCLOAK-15146 Add support for searching users by emailVerified status
...
We now allow to search for users by their emailVerified status.
This enables users to easily find users and deal with incomplete user accounts.
2020-09-29 08:28:59 -03:00
mhajas
12bc84322a
KEYCLOAK-14974 Map group storage provider
2020-09-21 15:56:32 +02:00
Martin Kanis
f037dabdc1
KEYCLOAK-15199 Use stream variant method in jpa/RoleAdapter.getFirstAttribute
2020-09-17 13:18:21 +02:00
Martin Kanis
5d5e56dde3
KEYCLOAK-15199 Complement methods for accessing roles with Stream variants
2020-09-16 16:29:51 +02:00
testn
706299557e
KEYCLOAK-15174: ResourceServerAdapter.toEntity checks the wrong type
2020-09-10 12:19:25 -03:00
testn
c288175c03
KEYCLOAK-15208: PermissionTicketAdapter checks for the wrong type
2020-09-10 12:16:48 -03:00
mhajas
df52c12ebb
KEYCLOAK-15479 Replace enlistAfterCompletion with enlist in MapClientProvider
2020-09-09 08:27:38 +02:00
Benjamin Weimer
b2934e8dd0
KEYCLOAK-15327 backchannel logout invalidate offline session even if there is no corresponding active session found
2020-09-08 11:17:20 -03:00
Martin Kanis
4e9bdd44f3
KEYCLOAK-14901 Replace deprecated ClientProvider related methods across Keycloak
2020-09-07 13:11:55 +02:00
mhajas
bdccfef513
KEYCLOAK-14973 Create GroupStorageManager
2020-09-01 10:21:39 +02:00
Martin Kanis
d59a74c364
KEYCLOAK-15102 Complement methods for accessing groups with Stream variants
2020-08-28 20:56:10 +02:00
Martin Kanis
4be99772d8
KEYCLOAK-14967 Closing streams obtained from JPA layer
2020-08-25 21:47:24 +02:00
Pedro Igor
cb57c58b4b
[KEYCLOAK-14730] - Consent not working when using federation storage and client is displayed on consent screen
2020-08-19 10:08:21 +02:00
mhajas
ae39760a62
KEYCLOAK-14972 Add independent GroupProvider interface
2020-08-13 21:13:12 +02:00
vramik
6b00633c47
KEYCLOAK-14812 Create RoleStorageManager
2020-07-31 15:11:25 -03:00
vramik
bfa21c912c
KEYCLOAK-14811 Create RoleProvider and make it independent of ClientProvider and RealmProvider
2020-07-31 15:11:25 -03:00
Martin Idel
97400827d2
KEYCLOAK-14870: Fix bug where user is incorrectly imported
...
Bug: SerializedBrokeredIdentityContext was changed to mirror
UserModel changes. However, when creating the user in LDAP,
the username must be provided first (everything else can
be handled via attributes).
2020-07-29 11:33:41 +02:00
Martin Idel
bf411d7567
KEYCLOAK-14869: Fix nullpointer exception in FullNameLDAPStorageMapper
...
Setting an attribute should be possible with a list
containing no elements or a null list
This can happen e.g. when creating users via idps
using a UserAttributeStatementMapper.
Fix this unprotected access in other classes too
2020-07-28 09:54:37 +02:00
Martin Kanis
feef5b4db2
KEYCLOAK-14220 Complement methods for accessing clients with Stream variants
2020-07-27 10:38:39 +02:00
keycloak-bot
afff0a5109
Set version to 12.0.0-SNAPSHOT
2020-07-22 14:36:15 +02:00
Hynek Mlnarik
8fae2997c9
KEYCLOAK-14553 Improve logging
2020-07-22 00:08:15 +02:00
Hynek Mlnarik
c566b46e8f
KEYCLOAK-14549 Make ClientProvider independent of RealmProvider
...
Co-Authored-By: vramik <vramik@redhat.com>
2020-07-22 00:08:15 +02:00
Hynek Mlnarik
ac0011ab6f
KEYCLOAK-14553 Client map store
...
Co-Authored-By: vramik <vramik@redhat.com>
2020-07-22 00:08:15 +02:00
Hynek Mlnarik
2c29c58af1
KEYCLOAK-14551 Map transaction
2020-07-22 00:08:15 +02:00
Pedro Igor
3631618b24
[KEYCLOAK-14646] - Changing cacheQuery
2020-07-21 14:22:09 +02:00
Pedro Igor
7501e42969
[KEYCLOAK-14646] - Improving permission resolution and evaluation
2020-07-21 14:22:09 +02:00
Jan Lieskovsky
969b09f530
[KEYCLOAK-13692] Upgrade to Wildfly "20.0.1.Final" and Infinispan "10.1.8.Final"
...
Co-authored-by: Jan Lieskovsky <jlieskov@redhat.com>
Co-authored-by: Marek Posolda <mposolda@redhat.com>
2020-07-20 22:15:08 +02:00
Yao
ec61c45da5
KEYCLOAK-4593: Moved NamedQuery to entity attribute to improve performance
2020-07-16 08:32:51 +02:00
vramik
71dca9e1b9
KEYCLOAK-14474 ConsentsTest fails intermittently on auth-server-undertow
2020-07-07 14:25:00 +02:00
Plamen Kostov
914b226d11
[KEYCLOAK-14282] Create additional filtering for GET /users endpoint for enabled/disabled users
2020-07-03 09:07:42 -03:00
Martin Idel
05b6ef8327
KEYCLOAK-14536 Migrate UserModel fields to attributes
...
- In order to make lastName/firstName/email/username field
configurable in profile
we need to store it as an attribute
- Keep database as is for now (no impact on performance, schema)
- Keep field names and getters and setters (no impact on FTL files)
Fix tests with logic changes
- PolicyEvaluationTest: We need to take new user attributes into account
- UserTest: We need to take into account new user attributes
Potential impact on users:
- When subclassing UserModel, consistency issues may occur since one can
now set e.g. username via setSingleAttribute also
- When using PolicyEvaluations, the number of attributes has changed
2020-06-25 14:50:57 +02:00
Hynek Mlnarik
8d8fae5def
KEYCLOAK-14533 Cleanup auth sessions immediately
2020-06-22 20:38:03 +02:00
Pedro Igor
d331091c5e
[KEYCLOAK-11330] - Quarkus tests
2020-06-17 17:20:55 +02:00
kurisumakise2011
bfde3ac080
When any liquibase exception is thrown and it catches in LiquibaseJpaUpdaterProvider update method inside try\catch block, an exception will be retrown like RuntimeException, but it will not be logged anywhere. It reaches platform.exit(t) and then only message of wrapped RuntimeException is propagated. But real caused can be noticed only via debug mode.
2020-06-15 14:01:07 +02:00
Pedro Igor
e16f30d31f
[KEYCLOAK-2343] - Allow exact user search by user attributes
...
Co-authored-by: Hynek Mlnařík <hmlnarik@users.noreply.github.com>
2020-06-10 12:02:50 -03:00
Yoshiyuki Tabata
f03ee2ec98
KEYCLOAK-14145 OIDC support for Client "offline" session lifespan
2020-06-04 14:24:52 +02:00
Pedro Igor
0870041b0b
[KEYCLOAK-14335] - Not initializing entity associations and removing bi-directional ones
...
Co-authored-by: Stian Thorgersen <stian@redhat.com>
Co-authored-by: Hynek Mlnarik <hmlnarik@redhat.com>
2020-06-02 11:31:10 -03:00
Pedro Igor
bae802bcfa
[KEYCLOAK-11784] - Using Hibernate Extension
2020-05-14 11:10:46 +02:00
stianst
b04932ede5
KEYCLOAK-12414 Remove the need to specify defaults in config file
2020-05-13 09:02:29 -03:00
Álvaro Gómez Giménez
666832d1be
KEYCLOAK-13066 Include resourceType in ScopePermissionRepresentation
2020-05-12 17:11:35 -03:00
Michael Cooney
3291161954
KEYCLOAK-13818: Addressing performance issues with adding client scopes during realm creation. Removing redundant lookups by passing all scopes that need to be created at once.
2020-05-12 15:59:42 +02:00
Pedro Igor
19ab9ba53d
[KEYCLOAK-13829] - DML for DELETE is executed even though attribute does not exist
2020-05-06 14:04:06 +02:00
keycloak-bot
ae20b7d3cd
Set version to 11.0.0-SNAPSHOT
2020-04-29 12:57:55 +02:00
Pedro Igor
601bf8d63e
[KEYCLOAK-12735] - Improving queries and cache for authz
2020-04-29 03:58:03 +02:00
Yoshiyuki Tabata
874642fe9e
KEYCLOAK-12406 Add "Client Session Max" and "Client Session Idle" for OIDC
2020-04-28 15:34:25 +02:00
stianst
5b017e930d
KEYCLOAK-13128 Security Headers SPI and response filter
2020-04-28 15:28:24 +02:00
keycloak-bot
33314ae3ca
Set version to 10.0.0-SNAPSHOT
2020-04-21 09:19:32 +02:00
mposolda
b29810c923
KEYCLOAK-13306 Model fixes for check realm when lookup by ID
...
(cherry picked from commit e40a62de31f6f5d326234314a9e285010665f707)
2020-04-21 08:19:50 +02:00
mposolda
6f62c0ed98
KEYCLOAK-13442 Backwards compatibility in users searching. searchForUser(String, RealmModel, int, int) is no longer called when searching users from the admin console
2020-03-27 13:29:55 +01:00
Pedro Igor
b812159193
[KEYCLOAK-10675] - Deleting an Identity Provider doesn't remove the associated IdP Mapper for that user
2020-03-26 11:41:17 +01:00
keycloak-bot
f6a592b15a
Set version to 9.0.4-SNAPSHOT
2020-03-24 08:31:18 +01:00
mposolda
5ddd605ee9
KEYCLOAK-13259
2020-03-24 05:32:41 +01:00
mposolda
3e82473a90
KEYCLOAK-13369 Not possible to move groups in admin console
2020-03-23 10:17:23 +01:00
vramik
86089d40b8
KEYCLOAK-13249 jpa-changelog-8.0.0.xml contains whitespace character
2020-03-18 09:36:23 +01:00
stianst
aece5d1b4c
KEYCLOAK-5162 Add index to even table
2020-03-17 17:05:21 +01:00
rmartinc
ad3b9fc389
KEYCLOAK-12579: LDAP groups duplicated during UI listing of user groups
2020-03-11 06:14:29 +01:00
Sebastian Schuster
99aba33980
KEYCLOAK-13163 Fixed searching for user with fine-grained permissions
2020-03-09 09:56:13 -03:00
vramik
701fb06de1
KEYCLOAK-12968 fix ClientTest.getAllClientsSearchAndPagination for postgresql
2020-03-05 06:40:03 +01:00
Dmitry Telegin
08319db242
KEYCLOAK-13167 - JDBC resource leak in custom migrations
2020-03-02 21:19:07 +01:00
Hynek Mlnarik
93f05f9291
KEYCLOAK-12450 Revert em.clear() call
2020-03-02 11:22:29 +01:00
Erik Jan de Wit
93a1374558
KEYCLOAK-11129 coalesce possible null values
2020-02-27 09:11:29 +01:00
keycloak-bot
d352d3fa8e
Set version to 9.0.1-SNAPSHOT
2020-02-17 20:38:54 +01:00
stianst
32fccfa99e
KEYCLOAK-10391 Fix lower-case column names in IdentityProviderMapperEntity, while they are upper-case in Liquibase scripts
2020-02-06 13:31:12 +01:00
Pedro Igor
199e5dfa3e
[KEYCLOAK-12909] - Keycloak uses embedded cache manager instead of container-managed one
2020-02-06 13:14:36 +01:00
Axel Messinese
b73553e305
Keycloak-11526 search and pagination for roles
2020-02-05 15:28:25 +01:00
Leon Graser
01a42f417f
Search and Filter for the count endpoint
2020-02-03 09:36:30 +01:00
Pedro Igor
658a083a0c
[KEYCLOAK-9600] - Find by name in authz client returning wrong resource
2020-02-03 08:57:20 +01:00
vramik
a83467047b
KEYCLOAK-9053 KEYCLOAK-9818 Increase column size for federated foreign keys
2020-01-31 21:24:55 +01:00
Marek Posolda
d46620569a
KEYCLOAK-12174 WebAuthn: create authenticator, requiredAction and policy for passwordless ( #6649 )
2020-01-29 09:33:45 +01:00
Denis Richtárik
24c6e2ba08
KEYCLOAK-12742 Authentication -> WebAuthn Policy: Unable to delete the Acceptable AAGUIDS via the provided minus (-) button, once set ( #6695 )
2020-01-24 11:55:20 +01:00
vramik
47d6d65bbb
KEYCLOAK-12724 - workaround hibernate bug - set explicitly dialect for oracle version greater than 12
2020-01-22 18:34:11 +01:00
Denis Richtárik
8d312d748b
KEYCLOAK-12163 Old account console: UI not updated after removing of TOTP ( #6688 )
2020-01-22 12:26:28 +01:00
Tomas Kyjovsky
36eba64f07
KEYCLOAK-12674 Performance degradation after upgrade to Keycloak 8 ( #6685 )
2020-01-21 19:43:25 +01:00
Marek Posolda
8d49409de1
KEYCLOAK-12183 Refactor login screens. Introduce try-another-way link. Not show many credentials of same type in credential selector ( #6591 )
2020-01-14 21:54:45 +01:00
vramik
a2b3747d0e
KEYCLOAK-7014 - Correctly handle null-values in UserAttributes
2020-01-10 12:44:52 +01:00
Pedro Igor
dae212c035
[KEYCLOAK-12312] - Partial import of realm breaking access to client's service account roles
2020-01-09 10:06:32 +01:00
Douglas Palmer
106e6e15a9
[KEYCLOAK-11859] Added option to always display a client in the accounts console
2019-12-17 17:12:49 -03:00
vramik
c3d80651bf
KEYCLOAK-12473 Add possibility to specify length of event detail when storing to database
2019-12-17 17:15:50 +01:00
Cristian Schuszter
5c7ce775cf
KEYCLOAK-11472 Pagination support for clients
...
Co-authored-by: stianst <stianst@gmail.com>
2019-12-05 08:17:17 +01:00
Pedro Igor
53f156ec83
[KEYCLOAK-11328] - Initial Server.x Clustering Configuration
2019-11-29 08:38:41 +01:00
Martin Kanis
685d49c693
KEYCLOAK-11967 Violation of UNIQUE KEY constraint SIBLING_NAMES ( #6485 )
2019-11-26 16:00:50 +01:00
Andrei Arlou
f0ac2ad3ce
KEYCLOAK-12088 Use diamond operator for collections in module "model/infinispan"
2019-11-22 11:08:42 +01:00
Andrei Arlou
3acee944ea
KEYCLOAK-12090 Simplify conditions in module "model/infinispan" ( #6497 )
2019-11-18 20:51:12 +01:00
Andrei Arlou
80f4bd3822
KEYCLOAK-12089 Remove unused imports from module "model/infinispan" ( #6496 )
2019-11-18 20:48:34 +01:00
keycloak-bot
76aa199fee
Set version to 9.0.0-SNAPSHOT
2019-11-15 20:43:21 +01:00
vramik
af5df1e535
KEYCLOAK-11808 Add support for MySQL8, update supported database versions
2019-11-15 08:43:48 +01:00
stianst
3a36569e20
KEYCLOAK-9129 Don't expose Keycloak version in resource paths
2019-11-15 08:21:28 +01:00
AlistairDoswald
4553234f64
KEYCLOAK-11745 Multi-factor authentication ( #6459 )
...
Co-authored-by: Christophe Frattino <christophe.frattino@elca.ch>
Co-authored-by: Francis PEROT <francis.perot@elca.ch>
Co-authored-by: rpo <harture414@gmail.com>
Co-authored-by: mposolda <mposolda@gmail.com>
Co-authored-by: Jan Lieskovsky <jlieskov@redhat.com>
Co-authored-by: Denis <drichtar@redhat.com>
Co-authored-by: Tomas Kyjovsky <tkyjovsk@redhat.com>
2019-11-14 14:45:05 +01:00
Patrick Teubner
b3d87b52c2
KEYCLOAK-11888 Fix inconsistent pagination of groups by ordering the results of 'getTopLevelGroupIds' query
2019-11-11 09:22:51 +01:00
Wim Vandenhaute
b6ee342713
KEYCLOAK-4593 Flush and clear when fetching multiple realms for performance improvement with large number of realms
2019-11-04 21:11:26 +01:00
Hynek Mlnarik
f0685cc246
KEYCLOAK-11739 Ensure unique / PK constraint in JPA is on par with Liquibase
2019-10-23 14:53:17 +02:00
Martin Kanis
37304fdd7d
KEYCLOAK-10728 Upgrade to WildFly 18 Final
2019-10-21 14:06:44 +02:00
Pedro Igor
6acb87bd7a
[KEYCLOAK-10822] - Prevent access to users from another realm
2019-10-21 10:32:50 +02:00
Pedro Igor
17785dac08
[KEYCLOAK-10714] - Add filtering support in My Resources endpoint by name
2019-10-16 16:26:55 +02:00
Hynek Mlnarik
9d685a2c47
KEYCLOAK-11558 Fix unique constraint violation in PartialImportTest
...
(cherry picked from commit 672703cbc1320466d37761c4cb0d46c5dd0ce0f1)
2019-10-14 14:40:20 +02:00
Takashi Norimatsu
7c75546eac
KEYCLOAK-9360 Two factor authentication with W3C Web Authentication - 1st impl phase
...
* KEYCLOAK-9360 Two factor authentication with W3C Web Authentication - 1st impl phase
2019-10-01 15:17:38 +02:00
Kohei Tamura
c68afdab83
KEYCLOAK-7547 Change log level of a message when deleting user
...
When deleting a user (who has not failed to log in yet if Brute Force Detection is not enabled), the following message is always recorded:
{noformat}
10:34:15,101 WARN [org.keycloak.models.sessions.infinispan.changes.InfinispanChangelogBasedTransaction] (default task-7) Not present cache item for key LoginFailureKey [ realmId=568c76c7-9308-4d84-bfc1-ec3542deaf02. userId=4c011785-a39a-43bf-b0c1-43c63decf2f1 ]
{noformat}
This is noisy and should not be logged at warning level.
2019-09-20 11:37:30 +02:00
Jan Lieskovsky
cfb225b499
[KEYCLOAK-8253] Improve the time complexity of LDAP groups synchronization
...
(in the direction from LDAP provider to Keycloak) from exponential to
linear time in the case of syncing flat LDAP groups structure
Add a corresponding test (intentionally configured as to be ignored
by CI/CD due to higher demand on time, required fo the test completion)
Signed-off-by: Jan Lieskovsky <jlieskov@redhat.com>
2019-09-12 09:54:13 +02:00
Hynek Mlnarik
9eb2e1d845
KEYCLOAK-11028 Use pessimistic locks to prevent DB deadlock when deleting objects
2019-09-09 10:57:49 +02:00
Pedro Igor
a1d8850373
[KEYCLOAK-7416] - Device Activity
2019-09-05 11:43:27 -03:00
Takashi Norimatsu
8225157a1c
KEYCLOAK-6768 Signed and Encrypted ID Token Support
2019-08-15 15:57:35 +02:00
Vlastimil Elias
4571f65d1e
KEYCLOAK-10209 - AuthenticationSessionModel made available through
...
KeycloakContext in KeycloakSession
2019-07-30 12:36:57 +02:00
Pedro Igor
967d21dbb5
[KEYCLOAK-10713] - Pagination to resources rest api
2019-07-29 16:19:22 -03:00
keycloak-bot
17e9832dc6
Set version to 8.0.0-SNAPSHOT
2019-07-19 19:05:03 +02:00
Hynek Mlnarik
04f266d381
KEYCLOAK-10744 Fix MariaDB cannot create database
2019-07-18 13:59:49 +02:00
Martin Kanis
efdf0f1bd8
KEYCLOAK-6839 You took too long to login after SSO idle
2019-07-10 10:15:26 +02:00
rmartinc
bd5dec1830
KEYCLOAK-10112: Issues in loading offline session in a cluster environment during startup
2019-07-03 13:17:45 +02:00
Pedro Igor
0cdd23763c
[KEYCLOAK-10443] - Define a global decision strategy for resource servers
2019-07-02 09:14:37 -03:00
Sebastian Loesch
c9fbed7eb8
KEYCLOAK-10545 Fix formatting error in log message
...
Fixes the formatting error
java.util.IllegalFormatConversionException: d != java.util.UUID
2019-06-26 10:22:15 +02:00
mposolda
c124aec586
KEYCLOAK-10262 DBLockTest.testLockConcurrently fails with MariaDB Galera 10.1
2019-06-24 11:23:18 +02:00
Pedro Igor
fdc0943a92
[KEYCLOAK-8060] - My Resources REST API
2019-06-11 14:23:26 -03:00