From d0f5f1ba2a65025b91f25465326bf6c0af3187a9 Mon Sep 17 00:00:00 2001 From: Anthony Barone Date: Thu, 4 Sep 2025 14:27:20 +0000 Subject: [PATCH] Wire up app check provider to telemetry service --- packages/telemetry/src/register.node.ts | 3 ++- packages/telemetry/src/register.ts | 3 ++- packages/telemetry/src/service.ts | 16 +++++++++++++++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/packages/telemetry/src/register.node.ts b/packages/telemetry/src/register.node.ts index e3394749726..35fe7bbfbfd 100644 --- a/packages/telemetry/src/register.node.ts +++ b/packages/telemetry/src/register.node.ts @@ -30,8 +30,9 @@ export function registerTelemetry(): void { // getImmediate for FirebaseApp will always succeed const app = container.getProvider('app').getImmediate(); const loggerProvider = createLoggerProvider(); + const appCheckProvider = container.getProvider('app-check-internal'); - return new TelemetryService(app, loggerProvider); + return new TelemetryService(app, loggerProvider, appCheckProvider); }, ComponentType.PUBLIC ) diff --git a/packages/telemetry/src/register.ts b/packages/telemetry/src/register.ts index 566d65dc9d0..12a743ff906 100644 --- a/packages/telemetry/src/register.ts +++ b/packages/telemetry/src/register.ts @@ -30,8 +30,9 @@ export function registerTelemetry(): void { // getImmediate for FirebaseApp will always succeed const app = container.getProvider('app').getImmediate(); const loggerProvider = createLoggerProvider(); + const appCheckProvider = container.getProvider('app-check-internal'); - return new TelemetryService(app, loggerProvider); + return new TelemetryService(app, loggerProvider, appCheckProvider); }, ComponentType.PUBLIC ) diff --git a/packages/telemetry/src/service.ts b/packages/telemetry/src/service.ts index e09e861d3dc..a93059ad9fa 100644 --- a/packages/telemetry/src/service.ts +++ b/packages/telemetry/src/service.ts @@ -18,9 +18,23 @@ import { _FirebaseService, FirebaseApp } from '@firebase/app'; import { Telemetry } from './public-types'; import { LoggerProvider } from '@opentelemetry/sdk-logs'; +import { Provider } from '@firebase/component'; +import { + AppCheckInternalComponentName, + FirebaseAppCheckInternal +} from '@firebase/app-check-interop-types'; export class TelemetryService implements Telemetry, _FirebaseService { - constructor(public app: FirebaseApp, public loggerProvider: LoggerProvider) {} + appCheck: FirebaseAppCheckInternal | null; + + constructor( + public app: FirebaseApp, + public loggerProvider: LoggerProvider, + appCheckProvider?: Provider + ) { + const appCheck = appCheckProvider?.getImmediate({ optional: true }); + this.appCheck = appCheck || null; + } _delete(): Promise { return Promise.resolve();