using System;
using System.Collections.Generic;
using zero.Core.Entities;
namespace zero.Core.Identity
{
public interface IIdentityUserWithRoles : IIdentityUser
{
///
/// The roles (aliases) of the user
///
List RoleIds { get; set; }
}
public interface IIdentityUser : 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; }
}
}