Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • ClientAssertionRequestFormatter (new internal class)

  • ClientSecretRequestFormatter (renamed from ClientCredentialsRequestFormatter, internal class)

  • HttpRequestFormatterFactory ClientCredentialsRequestFormatterFactory  (new internal class) 

No new configuration properties are added. All assertion-related configurations were introduced in KIP-1139.

...

To improve code clarity and distinguish between the two authentication methods, the existing ClientCredentialsRequestFormatter class is renamed to ClientSecretRequestFormatter. This is purely an internal implementation change with no impact on public APIs.

Enhanced

...

ClientCredentialsRequestFormatterFactory with Three-Tier Fallback

The HttpRequestFormatterFactory ClientCredentialsRequestFormatterFactory is enhanced with an intelligent three-tier fallback mechanism for determining which authentication method to use for the client_credentials grant:

...

  • Add assertion configurations: Simply add the assertion-related configurations (private key file, claims, etc.) to the client configuration

  • Automatic detection: The HttpRequestFormatterFactory will ClientCredentialsRequestFormatterFactory will automatically detect the assertion configurations and switch to client assertion authentication

  • Remove client secret configurations: Once verified, the old client.id and client.secret configurations can be removed (optional)

  • Rollback capability: Removing the assertion configurations will cause the client to fall back to client secret authentication

...

  • Unit Tests for ClientAssertionRequestFormatter

  • Unit Tests for HttpRequestFormatterFactoryClientCredentialsRequestFormatterFactory

  • Unit Tests for AssertionSupplierFactory Integration

...