using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace IdentityShroud.Core.Model; [Table("realm")] public class Realm { public Guid Id { get; set; } /// /// Note this is part of the url we should encourage users to keep it short but we do not want to limit them too much /// [MaxLength(40)] public string Slug { get; set; } = ""; [MaxLength(128)] public string Name { get; set; } = ""; public List Clients { get; init; } = []; /// /// Note multiple keys can be in use at the same time because different clients may be configured to use /// a different keytype depending on their clients requirements/capabilities. /// public List TokenSigningKeys { get; init; } = []; public List DataEncryptionKeys { get; init; } = []; /// /// Can be overriden per client /// public JwtSigAlgName DefaultSignatureAlgorithm { get; set; } = JwtSigAlgName.RS256; }