diff --git a/RavenDB.Identity/IdentityUser.cs b/RavenDB.Identity/IdentityUser.cs index 12e460e..08ab116 100644 --- a/RavenDB.Identity/IdentityUser.cs +++ b/RavenDB.Identity/IdentityUser.cs @@ -7,24 +7,89 @@ using Microsoft.AspNetCore.Identity; namespace RavenDB.Identity { + /// + /// Base user class for RavenDB Identity. Inherit from this class to add your own properties. + /// public class IdentityUser { + /// + /// The ID of the user. + /// public virtual string Id { get; set; } + + /// + /// The user name. Usually the same as the email. + /// public virtual string UserName { get; set; } + + /// + /// The password hash. + /// public virtual string PasswordHash { get; set; } + + /// + /// The security stamp. + /// public virtual string SecurityStamp { get; set; } + + /// + /// The email of the user. + /// public virtual string Email { get; set; } + + /// + /// The phone number. + /// public virtual string PhoneNumber { get; set; } - public virtual bool IsEmailConfirmed { get; set; } + + /// + /// Whether the user has confirmed their email address. + /// + public virtual bool EmailConfirmed { get; set; } + + /// + /// Whether the user has confirmed their phone. + /// public virtual bool IsPhoneNumberConfirmed { get; set; } + + /// + /// Number of times sign in failed. + /// public virtual int AccessFailedCount { get; set; } + + /// + /// Whether the user is locked out. + /// public virtual bool LockoutEnabled { get; set; } + + /// + /// When the user lock out is over. + /// public virtual DateTimeOffset? LockoutEndDate { get; set; } - public virtual bool TwoFactorAuthEnabled { get; set; } + + /// + /// Whether 2-factor authentication is enabled. + /// + public virtual bool TwoFactorEnabled { get; set; } + + /// + /// The roles of the user. To modify the user's roles, use nad . + /// public virtual IReadOnlyList Roles { get; private set; } + + /// + /// The user's claims, for use in claims-based authentication. + /// public virtual List Claims { get; private set; } + + /// + /// The logins of the user. + /// public virtual List Logins { get; private set; } + /// + /// Creates a new IdentityUser. + /// public IdentityUser() { this.Claims = new List(); @@ -32,13 +97,6 @@ namespace RavenDB.Identity this.Logins = new List(); } - public IdentityUser(string userId, string userName) - : this() - { - this.Id = userId; - this.UserName = userName; - } - /// /// Gets the mutable roles list. This shouldn't be modified by user code; roles should be changed via UserManager instead. /// diff --git a/RavenDB.Identity/UserStore.cs b/RavenDB.Identity/UserStore.cs index 108912a..687cfd8 100644 --- a/RavenDB.Identity/UserStore.cs +++ b/RavenDB.Identity/UserStore.cs @@ -439,14 +439,14 @@ namespace RavenDB.Identity { ThrowIfNullDisposedCancelled(user, cancellationToken); - return Task.FromResult(user.IsEmailConfirmed); + return Task.FromResult(user.EmailConfirmed); } public Task SetEmailConfirmedAsync(TUser user, bool confirmed, CancellationToken cancellationToken) { ThrowIfNullDisposedCancelled(user, cancellationToken); - user.IsEmailConfirmed = confirmed; + user.EmailConfirmed = confirmed; return Task.CompletedTask; } @@ -542,7 +542,7 @@ namespace RavenDB.Identity { ThrowIfNullDisposedCancelled(user, cancellationToken); - user.TwoFactorAuthEnabled = enabled; + user.TwoFactorEnabled = enabled; return Task.CompletedTask; } @@ -550,7 +550,7 @@ namespace RavenDB.Identity { ThrowIfNullDisposedCancelled(user, cancellationToken); - return Task.FromResult(user.TwoFactorAuthEnabled); + return Task.FromResult(user.TwoFactorEnabled); } #endregion diff --git a/Sample/Controllers/ManageController.cs b/Sample/Controllers/ManageController.cs index 39c5b9f..29e6f3b 100644 --- a/Sample/Controllers/ManageController.cs +++ b/Sample/Controllers/ManageController.cs @@ -59,7 +59,7 @@ namespace Sample.Controllers Username = user.UserName, Email = user.Email, PhoneNumber = user.PhoneNumber, - IsEmailConfirmed = user.IsEmailConfirmed, + IsEmailConfirmed = user.EmailConfirmed, StatusMessage = StatusMessage }; @@ -318,7 +318,7 @@ namespace Sample.Controllers var model = new TwoFactorAuthenticationViewModel { HasAuthenticator = await _userManager.GetAuthenticatorKeyAsync(user) != null, - Is2faEnabled = user.TwoFactorAuthEnabled, + Is2faEnabled = user.TwoFactorEnabled, RecoveryCodesLeft = await _userManager.CountRecoveryCodesAsync(user), }; @@ -334,7 +334,7 @@ namespace Sample.Controllers throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } - if (!user.TwoFactorAuthEnabled) + if (!user.TwoFactorEnabled) { throw new ApplicationException($"Unexpected error occured disabling 2FA for user with ID '{user.Id}'."); } @@ -451,7 +451,7 @@ namespace Sample.Controllers throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } - if (!user.TwoFactorAuthEnabled) + if (!user.TwoFactorEnabled) { throw new ApplicationException($"Cannot generate recovery codes for user with ID '{user.Id}' as they do not have 2FA enabled."); }