Open teuber789 opened 3 years ago
@teuber789 much appreciated. Thanks.
If you like the libs, please consider giving a star. Same for the people you work with.
Seams stupid, but reaching 150 stars could open the door to publishing on Baeldung and greatly widen users community.
The Spring Boot 3 Keyclock examples are a real life saver. Good work team.
@ch4mpy I agree that this stuff should be on Baeldung already. I found it by accident after also accidentally finding that the Keycloak adapters are now deprecated and after hours of writing crutch configurations with Spring OAuth2. And I think there are more people like me who found this solution by accident. Anyway, thanks for sharing your solution!
@lArtiquel it is a work in progress. Baeldung required 150 popularity (stars plus forks) before I could submit articles about this libs and I reached it last month.
I have submitted a tutorial about mocking OAuth2 identities during tests which is in review (this a rather long process with pretty strict editorial rules I have to learn and comply with).
I hope one about portable resource-server configuration will follow.
Gave this one a star as well! Saved me a lot of pain in many regards.
Thanks @ch4mpy for this great repository as well as your active StackOverflow presence!
@JonasMArnold thank you for the positive feedback, it is always pleasant to read.
I was pretty busy at that moment with two major upgrades:
Please make sure you give those two a try, I'm sure it is worth the effort.
Another star! Thank you @ch4mpy
One question: BFF + multitenant dynamic, is it possible?
spring:
security:
oauth2:
client:
provider:
keycloak:
issuer-uri: ${issuer}
user-name-attribute: ${user-name-attribute}
registration:
keycloak:
provider: keycloak
client-id: ${client-id}
client-secret: ${client-secret}
authorization-grant-type: authorization_code
scope:
- openid
- profile
- email
- offline_access
- roles
Configuration properties as you define in your yaml are "static". Spring-addons can hardly produce "dynamic" configuration from it.
What you might consider is spinning a BFF instance for each of your tenant: when you add a tenant, you probably have declared a dedicated OAuth2 client in your authorization server for it and should be able to generate the Spring configuration yaml for a new BFF instance dedicated to this new tenant. Each BFF would be a "static" single-tenant OAuth2 client with a single login option.
I happened upon this repo while looking for a way to mock Keycloak tokens in Spring MVC controller tests. Your
WithMockKeycloakAuth
annotation worked like a charm and saved me a ton of hassle. Just wanted to post a little note saying thanks again and keep up the good work!(This isn't exactly a bug...but I wasn't sure where else to put it :/ )