suvera / keycloak-scim2-storage Goto Github PK
View Code? Open in Web Editor NEWKeycloak SCIM2 Outbound User Provisioning
Keycloak SCIM2 Outbound User Provisioning
Hello,
Now that I could start a SCIM synchronization job successfully, it is raising a new error:
I checked and this is pointing to this line: https://github.com/suvera/keycloak-scim2-storage/blob/master/src/main/java/dev/suvera/keycloak/scim2/storage/storage/Scim2SyncJob.java#L83
I'm currently testing the module in a Keycloak 11.0.3 (pretty close to the version you have in your README example)
I noticed that Keycloak is using different realm ids depending on the API used ("id" or "name" sometimes, at least in my version) so I tried to store the name in the job definition instead: axel-springer-kugawana@bcc0701
This seems to work as I get log from later in the job execution:
I'm a little astonished, is it correct? This doesn't fell right. Is it related to the old version I'm using?
I have little experience with Keycloak database model.
Hi, do you have any plans or ideas for updating to work on version 22?
Hello There,
I am trying to connect to a Gluu Server SCIM endpoint.
In the Keycloak console I get the following error message, trying to add a new SCIM endpoint:
Error! Could not find default Schema for urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig
The Keycloak Server logs and the ServiceProviderConfig are looking normal to me ??
2022-03-09 08:27:43,783 INFO [dev.suvera.keycloak.scim2.storage.storage.ScimClient2] (default task-3) SCIM 2.0 endPoint: https://10.36.125.225/identity/restv1/scim/v2/ 2022-03-09 08:27:43,884 INFO [dev.suvera.scim2.client.Scim2ClientImpl] (default task-3) Http GET request /ServiceProviderConfig 2022-03-09 08:27:44,229 INFO [dev.suvera.scim2.client.Scim2ClientImpl] (default task-3) Http GET request /ResourceTypes 2022-03-09 08:27:44,287 INFO [dev.suvera.scim2.client.Scim2ClientImpl] (default task-3) Http GET request /Schemas 2022-03-09 08:27:44,348 INFO [dev.suvera.scim2.client.Scim2ClientImpl] (default task-3) Got SCIM Implementation Details 2022-03-09 08:28:04,393 INFO [stdout] (pool-16-thread-1) [] 2022-03-09 08:29:04,394 INFO [stdout] (pool-16-thread-1) []
I am using Keycloak 16.1.1
Very interesting your project.
I would like to use your project to integrate with AWS SSO, but I noticed that AWS doesn't use "User" and "Password" for SCIM endpoint integration instead they use "Bearer Token"...
I would like to know if the project can support this type of authentication?
Thanks
Ref: https://docs.aws.amazon.com/singlesignon/latest/userguide/provision-automatically.html
Do you know what could be the reason? I thought it would something like hyperledger/web3j#1271 but nothing changed after I added the dependency explicitely. I also changed to the newest commits for scim2-sdk-client/schema.
2022-07-22 12:54:40,262 INFO [dev.suvera.keycloak.scim2.storage.storage.Scim2SyncJob] (pool-6-thread-1) JOB: SkssJobQueue(id=3c130707-84ef-4332-b553-403f123c97e4, username=hubert, action=userCreate, realmId=master, componentId=ded4516e-dac4-4aa9-a78c-749ad3b9c8d3, processed=0, createdOn=2022-07-22 12:54:23.221, externalId=null)
2022-07-22 12:54:40,307 INFO [dev.suvera.keycloak.scim2.storage.storage.ScimClient2] (pool-6-thread-1) Scim User: {
"externalId" : "f:ded4516e-dac4-4aa9-a78c-749ad3b9c8d3:hubert",
"schemas" : [ "urn:ietf:params:scim:schemas:core:2.0:User" ],
"userName" : "hubert",
"name" : {
"givenName" : "hubert"
},
"displayName" : "hubert",
"active" : true
}
Exception in thread "pool-6-thread-1" java.lang.NoSuchMethodError: 'okhttp3.RequestBody okhttp3.RequestBody.create(java.lang.String, okhttp3.MediaType)'
at dev.suvera.scim2.client.Scim2ClientImpl.doRequest(Scim2ClientImpl.java:203)
at dev.suvera.scim2.client.Scim2ClientImpl.create(Scim2ClientImpl.java:220)
at dev.suvera.scim2.client.Scim2Client.createUser(Scim2Client.java:61)
at dev.suvera.keycloak.scim2.storage.storage.ScimClient2.createUser(ScimClient2.java:249)
at dev.suvera.keycloak.scim2.storage.storage.Scim2SyncJob.executeJob(Scim2SyncJob.java:107)
at dev.suvera.keycloak.scim2.storage.storage.Scim2SyncJob.performSync(Scim2SyncJob.java:67)
at dev.suvera.keycloak.scim2.storage.storage.Scim2SyncJob.run(Scim2SyncJob.java:39)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
I use a custom dockerfile for testing
FROM quay.io/keycloak/keycloak:latest as builder
COPY target/suvera-keycloak-scim2-outbound-provisioning-jar-with-dependencies.jar /opt/keycloak/providers/keycloak-scim-outbound.jar
RUN /opt/keycloak/bin/kc.sh build
FROM quay.io/keycloak/keycloak:latest
COPY --from=builder /opt/keycloak/ /opt/keycloak/
WORKDIR /opt/keycloak
ENV KC_HOSTNAME=localhost
ENTRYPOINT ["/opt/keycloak/bin/kc.sh"]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.