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; }
}
}