Commit graph

107 commits

Author SHA1 Message Date
1d26b763e5
ci: use actions
Some checks failed
/ build (push) Successful in 59s
/ release (push) Has been cancelled
2024-10-31 17:38:55 +01:00
6e75aca837
doc: acknowledge funding 2024-10-31 16:10:40 +01:00
5d3abcd287
doc: fix license 2024-10-31 16:10:21 +01:00
57f7c6c74e Merge branch 'sonar-refactoring' into 'main'
Sonar refactoring

See merge request libre.sh/scim/keycloak-scim!3
2024-10-22 08:49:42 +00:00
e8177237e0 Update to Keycloack 26 and scim-dsk 1.26 2024-10-22 10:44:33 +02:00
7d87d23345 Fix gitlab build 2024-08-05 10:27:27 +02:00
a36fe19adc Only refresh SCIM endpoints when a SCIM configuration is deleted 2024-07-19 10:59:57 +02:00
4defbc2f6a Refactoring to lower methods complexity 2024-07-19 10:59:57 +02:00
97a3e13bc6 Add option to activate full SCIM requests logs 2024-07-19 10:59:57 +02:00
d8cba394b2 Handle retry exceptions as a 500 server response 2024-07-19 10:59:57 +02:00
9c7c557b76 Separate Dirty group update in a dedicated class 2024-07-19 10:59:57 +02:00
387abc30f8 Use enum interfaces for RollbackStrategy and SkipOrStopStrategy 2024-07-19 10:59:57 +02:00
620c9e84bb Exception Handler - Step 5 : basic Rolback Strategy implementation 2024-07-19 10:59:57 +02:00
09d0b6544b Exception Handler - Step 4 : define SkipOrStop strategy 2024-07-19 10:59:57 +02:00
9d52c0eb4b Exception Handler - Step 3 : exception categorization 2024-07-19 10:59:57 +02:00
399dfbd17e Exception Handler - Step 2: logging uniformisation and add //TODOs 2024-07-19 10:59:57 +02:00
72e597a09c Exception Handler - Step 1: basic wiring 2024-07-19 10:59:57 +02:00
Brendan Le Ny
51d4837c19 Close stream 2024-07-19 10:59:57 +02:00
Brendan Le Ny
54a2f10114 Factorize URI creations 2024-07-19 10:59:57 +02:00
Brendan Le Ny
ad60363cbd Remove all unsafe Optional.get calls 2024-07-19 10:59:57 +02:00
Brendan Le Ny
8e97335de4 Improve error messages and logs 2024-07-19 10:59:57 +02:00
cce36ab990 Fix /Users URI for group membership changes 2024-07-19 10:59:57 +02:00
0cac71c4a1 Rollback on ScimPropagationException 2024-07-19 10:59:57 +02:00
81d9f5424c Rollback on exception 2024-07-19 10:59:57 +02:00
5aa9410bac Improve logging 2024-07-19 10:59:57 +02:00
080cc8c273 Revert "Type "type" column in Hibernate"
This reverts commit 0bf5aa1a76aeece12b71b14bedc672850671a794.
2024-07-19 10:53:52 +02:00
55730a8021 Remove static ScimDispatcher map 2024-07-19 10:53:52 +02:00
Brendan Le Ny
1e46d584c8 Type "type" column in Hibernate 2024-07-19 10:53:52 +02:00
Brendan Le Ny
3009edf101 Remove pointless exception encapsulation 2024-07-19 10:53:52 +02:00
Brendan Le Ny
c793c138a3 Fix concurrent modification exception with dispatcher caching
keycloak-1  | 2024-06-21 08:32:21,335 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (executor-thread-9) Uncaught server error: java.util.ConcurrentModificationException
keycloak-1  | 	at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1221)
keycloak-1  | 	at sh.libre.scim.core.ScimDispatcher.createForSession(ScimDispatcher.java:31)
keycloak-1  | 	at sh.libre.scim.event.ScimEventListenerProvider.<init>(ScimEventListenerProvider.java:49)
keycloak-1  | 	at sh.libre.scim.event.ScimEventListenerProviderFactory.create(ScimEventListenerProviderFactory.java:13)
keycloak-1  | 	at sh.libre.scim.event.ScimEventListenerProviderFactory.create(ScimEventListenerProviderFactory.java:9)
keycloak-1  | 	at org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:195)
2024-07-19 10:53:52 +02:00
Brendan Le Ny
0b24401def Fix NPE when defining retry name for creation 2024-07-19 10:53:52 +02:00
bee8d1f39b Renaming ScimStorageProviderFactory 2024-07-19 10:53:52 +02:00
2e992dad44 Refactor Scim Event listener 2024-07-19 10:53:52 +02:00
f81001503d Remove Adapter and refactor ScimClient 2024-07-19 10:53:52 +02:00
2ded3f7236 Update SCIM clients when configuration changes and improve ScimDispatcher lifecycle 2024-07-19 10:53:52 +02:00
633291d401 Avoid recreating ScimClients at every change propagation : code refactoring 2024-07-19 10:53:41 +02:00
f00130d37a Simplify ScimStorageProvider 2024-07-19 10:53:41 +02:00
764767185e Simply ScimEventListener code 2024-07-19 10:53:41 +02:00
5976031ac6 ScimDispatcher simplification : split User and Group client class to simplify usage 2024-07-19 10:53:41 +02:00
9a45e9c30f Simplfy code by splitting UserScimClient and GroupSclient - basic UserScimClient 2024-07-19 10:53:28 +02:00
3ef6c81e98 Wire local sonar and extract method for findById 2024-07-19 10:53:28 +02:00
Alex Morel
154bb34980 Update .gitlab-ci.yml to wire sonar 2024-07-19 10:53:14 +02:00
Brendan Le Ny
04f011b5bf Remove pointless if 2024-06-17 14:38:42 +02:00
Brendan Le Ny
676cddc0d9 Move field init to initializer, does not depend on constructor parameters 2024-06-17 10:45:31 +02:00
Brendan Le Ny
db3de0d933 Use try with resource 2024-06-17 10:34:45 +02:00
Brendan Le Ny
10ff5787f0 Check emptyness not size 2024-06-17 10:11:16 +02:00
Brendan Le Ny
f2464bbc00 Rename variable 2024-06-12 17:40:01 +02:00
Brendan Le Ny
2ed6f1a16d Improve some method names 2024-06-12 17:00:22 +02:00
Brendan Le Ny
b6d3c20fe1 Split constructor code from factory code of ScimClient 2024-06-12 16:40:47 +02:00
Brendan Le Ny
84f1af036d Clean imports 2024-06-12 16:11:37 +02:00