using System; using System.Collections.Generic; namespace zero.Core.Entities { public interface IIdentityUserWithRoles : IIdentityUser { /// /// The roles (aliases) of the user /// List RoleIds { get; set; } } public interface IIdentityUser : IAppAwareEntity, IZeroEntity { /// /// Optional username (can also be used as login when configured) /// string Username { get; set; } /// /// E-Mail address which is also used as the username /// string Email { get; set; } /// /// Whether the email address has been confirmed /// bool IsEmailConfirmed { get; set; } /// /// The password hash /// string PasswordHash { get; set; } /// /// The security stamp /// string SecurityStamp { get; set; } /// /// The user's claims, for use in claims-based authentication. /// List Claims { get; set; } /// /// A hash which is used to validate a password-change request /// string PasswordResetToken { get; set; } /// /// The date when the current password-reset hash expires /// DateTimeOffset? PasswordResetTokenExpirationDate { get; set; } /// /// Number of times sign in failed. /// int AccessFailedCount { get; set; } /// /// Whether the user is locked out. /// bool LockoutEnabled { get; set; } /// /// When the user lock out is over. /// DateTimeOffset? LockoutEnd { get; set; } /// /// Whether 2-factor authentication is enabled or not /// bool TwoFactorEnabled { get; set; } /// /// The two-factor authenticator key /// string TwoFactorAuthenticatorKey { get; set; } /// /// The list of two factor authentication recovery codes /// List TwoFactorRecoveryCodes { get; set; } } }