update Telemetry Configurations - #70
Merged
Merged
Conversation
kailash-b
approved these changes
Aug 13, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
Telemetryvalue object (com.auth0.telemetry.Telemetry) - builds the Base64url-encodedAuth0-Clientpayload following the Auth0 SDK convention:{"name":..,"version":..,"env":{..}}. A wrapper reports itself as the top-levelnameand nests the core version inenv. Usesjava.specification.versionfor theenv.javavalue.TelemetryProviderreworked - now reads the core name/version and produces the default coreTelemetry; exposescoreVersion()for wrappers to nest.AuthOptions- newtelemetry(...)builder + getter; the core default is used unless a wrapper overrides it.JWTValidator/OidcDiscoveryFetcher: OIDC discovery, the domain JWKS path, and the dynamic JWKS path.Auth0AutoConfigurationinjectsSpringBootTelemetry.get(), reportingauth0-springboot-apiwith the core version nested underenv.auth0-springboot-client-info.propertieswith ${version}substitution wired in the springbootbuild.gradle; corrected the core propertiesnametoauth0-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
calls already made to the issuer's own host (guarded by the existing
JWKS-host-must-match-issuer check).
Test plan
./gradlew clean buildpassesAuth0-Clientheader matches the values above for both SDKs${version}is substituted in both built*-client-info.properties