public async Task <TokenViewModel> RecuperarMinhaSenha(string email) { Usuario _usuario = _repository.GetByUserName( email, q => q .Include(i => i.Tokens) ); /// <summary> /// Para prever segurança e privacidade para o proprietário do endereço de e-mail, /// o usuário solicitante do "Recuperar senha" não será avisado que o e-mail não está registrado no sistema /// </summary> if (_usuario == null) { return(null); } string _identityToken = await _userManager.GeneratePasswordResetTokenAsync(_usuario); Token _newToken = _usuario.AddNewToken(_identityToken, _repositoryTokenType.GetByCodigo(TokenType.ResetSenha).Id); _repository.Update(_usuario); if (!_uow.Commit()) { throw new ApiException(ApiErrorCodes.ERRGERTOK); } //TODO: Enviar tokenId por email para reset de senha e retirar do return. return(new TokenViewModel(tokenId: _newToken.Id)); }