Skip to main content

arolariu.Backend.Core.Auth

arolariu.Backend.Core.Auth

arolariu.Backend.Core.Auth Namespace

Classes

AuthMetrics Class

Defines custom OTel metric instruments for the Core.Auth bounded context. All instruments are created from arolariu.Backend.Common.Telemetry.Metering.MeterGenerators.AuthMeter.

public static class AuthMetrics

Inheritance System.Object 🡒 AuthMetrics

Remarks

Metric naming follows OTel semantic conventions:

  • auth.logouts — Successful logout events
  • auth.logout_failures — Failed logout attempts
  • auth.jwt.* — JWT token validation metrics

Fields

AuthMetrics.JwtValidationFailures Field

Total number of JWT validation failures. Tag with reason to distinguish failure types (invalid_issuer, invalid_audience, missing_secret).

public static readonly Counter<long> JwtValidationFailures;

Field Value

System.Diagnostics.Metrics.Counter<System.Int64>

AuthMetrics.LogoutFailures Field

Total number of failed logout attempts.

public static readonly Counter<long> LogoutFailures;

Field Value

System.Diagnostics.Metrics.Counter<System.Int64>

AuthMetrics.Logouts Field

Total number of successful user logouts.

public static readonly Counter<long> Logouts;

Field Value

System.Diagnostics.Metrics.Counter<System.Int64>

Methods

AuthMetrics.RecordJwtFailure(string) Method

Records a JWT validation failure with a reason tag.

public static void RecordJwtFailure(string reason);

Parameters

reason System.String

The failure reason (e.g., invalid_issuer, invalid_audience, missing_secret).

Log Class

Provides source-generated, zero-allocation logging methods for the Core.Auth project. Covers authentication, authorization, JWT token operations, and identity management.

public static class Log

Inheritance System.Object 🡒 Log

Remarks

Event ID scheme for the Core.Auth project:

  • 600_1xx — Authentication operations (login, logout, registration)
  • 600_2xx — Authorization and JWT token operations
  • 600_3xx — Identity service configuration

Methods

Log.LogAuthDbContextConfigurationFailed(this ILogger, Exception) Method

Logs a failure during AuthDbContext configuration (e.g., missing SQL connection string).

public static void LogAuthDbContextConfigurationFailed(this Microsoft.Extensions.Logging.ILogger logger, System.Exception exception);

Parameters

logger Microsoft.Extensions.Logging.ILogger

exception System.Exception

Log.LogAuthEndpointsMapped(this ILogger) Method

Logs that the authentication endpoints have been mapped.

public static void LogAuthEndpointsMapped(this Microsoft.Extensions.Logging.ILogger logger);

Parameters

logger Microsoft.Extensions.Logging.ILogger

Log.LogAuthMiddlewareApplied(this ILogger) Method

Logs that the authentication middleware pipeline has been applied.

public static void LogAuthMiddlewareApplied(this Microsoft.Extensions.Logging.ILogger logger);

Parameters

logger Microsoft.Extensions.Logging.ILogger

Log.LogAuthServicesConfigured(this ILogger) Method

Logs that authentication services (Identity, JWT, DbContext) have been configured.

public static void LogAuthServicesConfigured(this Microsoft.Extensions.Logging.ILogger logger);

Parameters

logger Microsoft.Extensions.Logging.ILogger

Log.LogJwtAudienceFallback(this ILogger, string) Method

Logs that the JWT audience fallback was applied because no audience was configured.

public static void LogJwtAudienceFallback(this Microsoft.Extensions.Logging.ILogger logger, string fallbackAudience);

Parameters

logger Microsoft.Extensions.Logging.ILogger

fallbackAudience System.String

Log.LogJwtAudienceValidationFailed(this ILogger, string) Method

Logs a JWT audience validation failure.

public static void LogJwtAudienceValidationFailed(this Microsoft.Extensions.Logging.ILogger logger, string expectedAudience);

Parameters

logger Microsoft.Extensions.Logging.ILogger

expectedAudience System.String

Log.LogJwtIssuerFallback(this ILogger, string) Method

Logs that the JWT issuer fallback was applied because no issuer was configured.

public static void LogJwtIssuerFallback(this Microsoft.Extensions.Logging.ILogger logger, string fallbackIssuer);

Parameters

logger Microsoft.Extensions.Logging.ILogger

fallbackIssuer System.String

Log.LogJwtIssuerValidationFailed(this ILogger, string, string) Method

Logs a JWT issuer validation failure.

public static void LogJwtIssuerValidationFailed(this Microsoft.Extensions.Logging.ILogger logger, string receivedIssuer, string expectedIssuer);

Parameters

logger Microsoft.Extensions.Logging.ILogger

receivedIssuer System.String

expectedIssuer System.String

Log.LogJwtSecretMissing(this ILogger) Method

Logs a JWT issuer signing key resolution with empty secret.

public static void LogJwtSecretMissing(this Microsoft.Extensions.Logging.ILogger logger);

Parameters

logger Microsoft.Extensions.Logging.ILogger

Log.LogLogoutFailed(this ILogger) Method

Logs a failed logout attempt (e.g., missing request body).

public static void LogLogoutFailed(this Microsoft.Extensions.Logging.ILogger logger);

Parameters

logger Microsoft.Extensions.Logging.ILogger

Log.LogUserLoggedOut(this ILogger) Method

Logs a successful user logout operation.

public static void LogUserLoggedOut(this Microsoft.Extensions.Logging.ILogger logger);

Parameters

logger Microsoft.Extensions.Logging.ILogger

// was this page useful?