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 eventsauth.logout_failures— Failed logout attemptsauth.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 operations600_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);