using ROLAC.API.Entities;
namespace ROLAC.API.Services;
public interface ITokenService
{
/// Generates a signed HS256 JWT containing userId, email, and roles claims.
string GenerateAccessToken(AppUser user, IList roles);
/// Generates a cryptographically-random 64-byte base64 string (the raw token value).
string GenerateRefreshToken();
/// Returns the SHA-256 hex hash of the raw token. Always hash before storing to DB.
string HashToken(string rawToken);
}