diff --git a/packages/api-gateway/src/Controller/AuthMiddleware.ts b/packages/api-gateway/src/Controller/AuthMiddleware.ts index 066e24289..654f4b48e 100644 --- a/packages/api-gateway/src/Controller/AuthMiddleware.ts +++ b/packages/api-gateway/src/Controller/AuthMiddleware.ts @@ -49,6 +49,8 @@ export abstract class AuthMiddleware extends BaseMiddleware { return } + this.logger.debug('[AuthMiddleware] Fetched cross-service token from underlying service') + crossServiceToken = (authResponse.data as { authToken: string }).authToken crossServiceTokenFetchedFromCache = false } diff --git a/packages/api-gateway/src/Service/gRPC/GRPCServiceProxy.ts b/packages/api-gateway/src/Service/gRPC/GRPCServiceProxy.ts index 7791c7db5..d7161b214 100644 --- a/packages/api-gateway/src/Service/gRPC/GRPCServiceProxy.ts +++ b/packages/api-gateway/src/Service/gRPC/GRPCServiceProxy.ts @@ -37,6 +37,8 @@ export class GRPCServiceProxy implements ServiceProxyInterface { const metadata = new grpc.Metadata() metadata.set('x-shared-vault-owner-context', headers.sharedVaultOwnerContext ?? '') + this.logger.debug('[GRPCServiceProxy] Validating session via gRPC') + this.sessionsClient.validate( request, metadata, diff --git a/packages/auth/bin/server.ts b/packages/auth/bin/server.ts index e496fb3be..ca08204d5 100644 --- a/packages/auth/bin/server.ts +++ b/packages/auth/bin/server.ts @@ -91,6 +91,7 @@ void container.load().then((container) => { const sessionsServer = new SessionsServer( container.get(TYPES.Auth_AuthenticateRequest), container.get(TYPES.Auth_CreateCrossServiceToken), + container.get(TYPES.Auth_Logger), ) grpcServer.addService(SessionsService, { diff --git a/packages/auth/src/Infra/gRPC/SessionsServer.ts b/packages/auth/src/Infra/gRPC/SessionsServer.ts index 917903108..80340a369 100644 --- a/packages/auth/src/Infra/gRPC/SessionsServer.ts +++ b/packages/auth/src/Infra/gRPC/SessionsServer.ts @@ -6,17 +6,21 @@ import { AuthorizationHeader, ISessionsServer, SessionValidationResponse } from import { AuthenticateRequest } from '../../Domain/UseCase/AuthenticateRequest' import { User } from '../../Domain/User/User' import { CreateCrossServiceToken } from '../../Domain/UseCase/CreateCrossServiceToken/CreateCrossServiceToken' +import { Logger } from 'winston' export class SessionsServer implements ISessionsServer { constructor( private authenticateRequest: AuthenticateRequest, private createCrossServiceToken: CreateCrossServiceToken, + private logger: Logger, ) {} async validate( call: grpc.ServerUnaryCall, callback: grpc.sendUnaryData, ): Promise { + this.logger.debug('[SessionsServer] Validating session via gRPC') + const authenticateRequestResponse = await this.authenticateRequest.execute({ authorizationHeader: call.request.getBearerToken(), }) @@ -69,6 +73,8 @@ export class SessionsServer implements ISessionsServer { const response = new SessionValidationResponse() response.setCrossServiceToken(resultOrError.getValue()) + this.logger.debug('[SessionsServer] Session validated via gRPC') + callback(null, response) } }