Skip to content

update Telemetry Configurations - #70

Merged
tanya732 merged 5 commits into
mainfrom
fix-telemetry-config
Aug 13, 2026
Merged

update Telemetry Configurations#70
tanya732 merged 5 commits into
mainfrom
fix-telemetry-config

Conversation

@tanya732

@tanya732 tanya732 commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR wires telemetry end-to-end and makes the core (auth0-api-java) and wrapper (auth0-springboot-api) report as independent identities, so adoption of each can be tracked separately.

What changed

  • New Telemetry value object (com.auth0.telemetry.Telemetry) - builds the Base64url-encoded Auth0-Client payload following the Auth0 SDK convention: {"name":..,"version":..,"env":{..}}. A wrapper reports itself as the top-level
    name and nests the core version in env. Uses java.specification.version for the env.java value.
  • TelemetryProvider reworked - now reads the core name/version and produces the default core Telemetry; exposes coreVersion() for wrappers to nest.
  • Identity carried on AuthOptions - new telemetry(...) builder + getter; the core default is used unless a wrapper overrides it.
  • Header attached at every outbound call in JWTValidator / OidcDiscoveryFetcher: OIDC discovery, the domain JWKS path, and the dynamic JWKS path.
  • Spring Boot wrapper identityAuth0AutoConfiguration injects SpringBootTelemetry.get(), reporting auth0-springboot-api with the core version nested under env.
  • Version filtering — added auth0-springboot-client-info.properties with ${version}substitution wired in the springbootbuild.gradle; corrected the core properties nametoauth0-api-java`.

Resulting header values (decoded, verified at runtime)

Core, standalone:
{"name":"auth0-api-java","version":"1.0.0-beta.1","env":{"java":"17"}}

Spring Boot wrapper:
{"name":"auth0-springboot-api","version":"1.0.0-beta.1","env":{"auth0-api-java":"1.0.0-beta.1","java":"17"}}

Notes

  • No behavior change to token validation; telemetry only adds a request header on
    calls already made to the issuer's own host (guarded by the existing
    JWKS-host-must-match-issuer check).
  • Adoption data will begin flowing once this ships and consumers upgrade.

Test plan

  • ./gradlew clean build passes
  • Confirm decoded Auth0-Client header matches the values above for both SDKs
  • Verify ${version} is substituted in both built *-client-info.properties
@tanya732
tanya732 requested a review from a team as a code owner August 12, 2026 07:12
@tanya732 tanya732 changed the title Fix telemetry config Aug 12, 2026
@tanya732
tanya732 merged commit 766428a into main Aug 13, 2026
6 checks passed
@tanya732 tanya732 mentioned this pull request Aug 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants