[midPoint-git] [Evolveum/connector-scimrest] 56c12e: Replace OAuth2Context with generic AuthContext, re...

johnstone3 noreply at github.com
Wed May 20 22:43:44 CEST 2026


  Branch: refs/heads/auth-preference
  Home:   https://github.com/Evolveum/connector-scimrest
  Commit: 56c12e0d56ddf21bbf5b20b7e20ebac5c2307c10
      https://github.com/Evolveum/connector-scimrest/commit/56c12e0d56ddf21bbf5b20b7e20ebac5c2307c10
  Author: Jan Kamenicky <jan.kamenicky at evolveum.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M common/src/main/java/com/evolveum/polygon/scimrest/api/HttpRequestSpecification.java
    M common/src/main/java/com/evolveum/polygon/scimrest/config/RestClientConfiguration.java
    M common/src/main/java/com/evolveum/polygon/scimrest/config/ScimClientConfiguration.java
    M common/src/main/java/com/evolveum/polygon/scimrest/groovy/AuthorizationCustomizationBuilderImpl.java
    M common/src/main/java/com/evolveum/polygon/scimrest/groovy/DispatchingAuthorizationCustomizer.java
    M common/src/main/java/com/evolveum/polygon/scimrest/groovy/DispatchingScimAuthorizationCustomizer.java
    A common/src/main/java/com/evolveum/polygon/scimrest/groovy/api/AuthImplementationContext.java
    M common/src/main/java/com/evolveum/polygon/scimrest/groovy/api/AuthenticationCustomizationBuilder.java
    M common/src/main/java/com/evolveum/polygon/scimrest/groovy/impl/ManifestBasedConnector.java
    M common/src/main/java/com/evolveum/polygon/scimrest/groovy/impl/ReadOnlyConfiguration.java
    A common/src/main/java/com/evolveum/polygon/scimrest/impl/rest/AuthContext.java
    R common/src/main/java/com/evolveum/polygon/scimrest/impl/rest/OAuth2Context.java
    M common/src/main/java/com/evolveum/polygon/scimrest/impl/rest/OAuth2TokenManager.java
    M common/src/main/java/com/evolveum/polygon/scimrest/impl/rest/RestContext.java
    M connector/generic/src/main/resources/Messages.properties

  Log Message:
  -----------
  Replace OAuth2Context with generic AuthContext, redesign auth DSL

- Add AuthContext as a generic holder for any authentication state (replaces OAuth2Context)
- Add AuthImplementationContext exposing request/ctx/configuration to Groovy auth scripts
- Redesign AuthenticationCustomizationBuilder DSL: httpBasic, bearerToken, jwtBearer,
  oAuth2ClientCredentials methods with implementation {} closures
- Update DispatchingAuthorizationCustomizer and its SCIM variant to dispatch by registered type
- Update RestContext and OAuth2TokenManager to use AuthContext
- Add Messages.properties keys for new auth method identifiers


  Commit: 513c7c40830c8bbad20e8d9aeb04690a6ce194ab
      https://github.com/Evolveum/connector-scimrest/commit/513c7c40830c8bbad20e8d9aeb04690a6ce194ab
  Author: Jan Kamenicky <jan.kamenicky at evolveum.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M common/src/main/java/com/evolveum/polygon/scimrest/groovy/GroovyOAuth2TokenManager.java
    M common/src/main/java/com/evolveum/polygon/scimrest/groovy/api/JwtAssertionBuilder.java

  Log Message:
  -----------
  Add JWT bearer grant type support

- Add JwtAssertionBuilder for constructing signed JWT assertions (RS256)
- Update GroovyOAuth2TokenManager to support jwt-bearer grant via jwtBearer {} DSL block


  Commit: 89ba3fd16f8898e2dcf7299ad26fd1306f89376b
      https://github.com/Evolveum/connector-scimrest/commit/89ba3fd16f8898e2dcf7299ad26fd1306f89376b
  Author: Jan Kamenicky <jan.kamenicky at evolveum.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M common/src/main/java/com/evolveum/polygon/scimrest/groovy/AbstractGroovyRestConnector.java
    A common/src/main/java/com/evolveum/polygon/scimrest/groovy/AuthPreferenceManager.java

  Log Message:
  -----------
  Add auth preference manager for probe-based method selection

- Add AuthPreferenceManager: probes each listed method against the test endpoint,
  selects the first one returning HTTP 200
- Wire AuthPreferenceManager into AbstractGroovyRestConnector (preference {} DSL)
- Add 401-retry support: on 401 response the connector retries with the next registered method


  Commit: 9cf0f40ae234c2f82524a7def82aee05aa4612d2
      https://github.com/Evolveum/connector-scimrest/commit/9cf0f40ae234c2f82524a7def82aee05aa4612d2
  Author: Jan Kamenicky <jan.kamenicky at evolveum.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M connector/forgejo/src/main/java/com/evolveum/polygon/forgejo/ForgejoConfiguration.java
    M connector/forgejo/src/main/java/com/evolveum/polygon/forgejo/ForgejoConnector.java
    M connector/sample-scimdev/src/main/java/com/evolveum/polygon/sample/scimdev/ScimDevConfiguration.java

  Log Message:
  -----------
  Update sample connectors to use the new auth DSL

- ForgejoConnector: migrate from old OAuth2Context-based auth to new authentication {} DSL
- ForgejoConfiguration: add interface markers for new auth config properties
- ScimDevConfiguration: adopt new ScimClientConfiguration auth interface hierarchy


  Commit: 964fdc3da872c515423e3061f881688713a28ad4
      https://github.com/Evolveum/connector-scimrest/commit/964fdc3da872c515423e3061f881688713a28ad4
  Author: Jan Kamenicky <jan.kamenicky at evolveum.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    R common/src/test/java/com/evolveum/polygon/scimrest/exception/AbstractOAuth2Tests.java
    R common/src/test/java/com/evolveum/polygon/scimrest/exception/AbstractScimOAuth2Tests.java
    R common/src/test/java/com/evolveum/polygon/scimrest/exception/AuthenticationErrorTests.java
    R common/src/test/java/com/evolveum/polygon/scimrest/exception/OAuth2ClientCredentialsTests.java
    R common/src/test/java/com/evolveum/polygon/scimrest/exception/OAuth2GroovyHookTests.java
    R common/src/test/java/com/evolveum/polygon/scimrest/exception/OAuth2JwtBearerTests.java
    R common/src/test/java/com/evolveum/polygon/scimrest/exception/OAuth2ManualIntegrationTest.java
    M common/src/test/java/com/evolveum/polygon/scimrest/exception/ScimExceptionSimulationTest.java
    R common/src/test/java/com/evolveum/polygon/scimrest/exception/ScimOAuth2ClientCredentialsTests.java
    R common/src/test/java/com/evolveum/polygon/scimrest/exception/ScimOAuth2GroovyHookTests.java
    M common/src/test/java/com/evolveum/polygon/scimrest/exception/WireMockTestSupport.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/apikey/ApiKeyTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/basic/BasicAuthTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/basic/ScimHttpBasicTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/bearertoken/BearerTokenAuthTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/bearertoken/ScimBearerTokenAuthTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/jwtbearer/JwtBearerAuthTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/jwtbearer/ScimJwtBearerAuthTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/oauth2clientcredentials/AbstractOAuth2ClientCredentialsTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/oauth2clientcredentials/AbstractScimOAuth2ClientCredentialsTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/oauth2clientcredentials/OAuth2ClientCredentialsTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/oauth2clientcredentials/OAuth2GroovyHookTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/oauth2clientcredentials/ScimOAuth2ClientCredentialsTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/oauth2clientcredentials/ScimOAuth2GroovyHookTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/oauth2jwtbearer/AbstractOAuth2JwtBearerTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/oauth2jwtbearer/AbstractScimOAuth2JwtBearerTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/oauth2jwtbearer/OAuth2JwtBearerGroovyHookTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/oauth2jwtbearer/OAuth2JwtBearerTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/oauth2jwtbearer/ScimOAuth2JwtBearerGroovyHookTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/oauth2jwtbearer/ScimOAuth2JwtBearerTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/preference/AuthPreferenceRetryTest.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/preference/AuthPreferenceTests.java
    A common/src/test/java/com/evolveum/polygon/scimrest/exception/auth/preference/ScimPreferenceTests.java
    M common/src/test/java/com/evolveum/polygon/scimrest/groovy/ScimDevTest.java
    M connector/forgejo/src/test/java/com/evolveum/polygon/forgejo/TestForgejoConnector.java

  Log Message:
  -----------
  Reorganize and expand auth test suite with exact request count assertions

- Move OAuth2 tests into auth/oauth2clientcredentials/ subpackage
- Add auth/apikey/, auth/basic/, auth/bearertoken/, auth/jwtbearer/ test packages
- Add auth/oauth2jwtbearer/ tests (JWT bearer grant for REST and SCIM)
- Add auth/preference/ tests (probe-based auth method selection)
- Replace imprecise assertTrue(>=1) assertions with exact assertEquals counts
- Add total request count assertion to every @Test method
- Update WireMockTestSupport and ScimExceptionSimulationTest for new auth API


Compare: https://github.com/Evolveum/connector-scimrest/compare/56c12e0d56dd%5E...964fdc3da872

To unsubscribe from these emails, change your notification settings at https://github.com/Evolveum/connector-scimrest/settings/notifications


More information about the midPoint-svn mailing list