1
0
mirror of https://github.com/bitwarden/server synced 2025-12-17 08:43:27 +00:00

account recovery to delete via email

This commit is contained in:
Kyle Spearrin
2017-08-09 10:53:42 -04:00
parent 503370d059
commit b2295f867b
13 changed files with 164 additions and 1 deletions

View File

@@ -178,6 +178,29 @@ namespace Bit.Core.Services
return IdentityResult.Success;
}
public async Task<IdentityResult> DeleteAsync(User user, string token)
{
if(!(await VerifyUserTokenAsync(user, TokenOptions.DefaultProvider, "DeleteAccount", token)))
{
return IdentityResult.Failed(ErrorDescriber.InvalidToken());
}
return await DeleteAsync(user);
}
public async Task SendDeleteConfirmationAsync(string email)
{
var user = await _userRepository.GetByEmailAsync(email);
if(user == null)
{
// No user exists.
return;
}
var token = await base.GenerateUserTokenAsync(user, TokenOptions.DefaultProvider, "DeleteAccount");
await _mailService.SendVerifyDeleteEmailAsync(user.Email, user.Id, token);
}
public async Task<IdentityResult> RegisterUserAsync(User user, string masterPassword)
{
var result = await base.CreateAsync(user, masterPassword);