spring-addons icon indicating copy to clipboard operation
spring-addons copied to clipboard

(Not a bug) Really excellent work!

Open teuber789 opened this issue 3 years ago • 8 comments

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 :/ )

teuber789 avatar Jul 07 '21 17:07 teuber789

@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.

ch4mpy avatar Jul 15 '21 07:07 ch4mpy

The Spring Boot 3 Keyclock examples are a real life saver. Good work team.

razeelmohammed avatar Oct 22 '22 08:10 razeelmohammed

@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 avatar Feb 15 '23 12:02 lArtiquel

@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.

ch4mpy avatar Feb 15 '23 13:02 ch4mpy

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 avatar Jul 02 '23 13:07 JonasMArnold

@JonasMArnold thank you for the positive feedback, it is always pleasant to read.

I was pretty busy at that moment with two major upgrades:

  • load test claim-sets from JSON files and build test Authentication using the converter found in test configuration
  • merge all Spring Boot starters into a single one and refresh properties structure

Please make sure you give those two a try, I'm sure it is worth the effort.

ch4mpy avatar Jul 10 '23 20:07 ch4mpy

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

Makintos avatar Nov 05 '23 12:11 Makintos

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.

ch4mpy avatar Nov 05 '23 14:11 ch4mpy