using System.Security.Claims;
namespace Features.Users.Services;
///
/// Service for generating and validating JSON Web Tokens (JWTs) used for authentication.
///
public interface ITokenInfrastructure
{
///
/// Generates a signed JWT for the given user.
///
string GenerateJwt(Guid userId, string username, DateTime expiry, string secret);
/// Thrown when the token is invalid, expired, or fails validation.
Task ValidateJwtAsync(string token, string secret);
}