email response change
This commit is contained in:
@@ -104,9 +104,11 @@ namespace Webshop.Api.Controllers.Auth
|
||||
|
||||
if (result.Type == ServiceResultType.Success)
|
||||
{
|
||||
// << KORREKTUR: Feste Erfolgsmeldung senden >>
|
||||
return Ok(new { Message = "Wenn ein Konto mit dieser E-Mail-Adresse existiert und noch nicht bestätigt wurde, wurde eine neue E-Mail gesendet." });
|
||||
}
|
||||
|
||||
// Wenn die E-Mail bereits bestätigt war, ist dies ein 'BadRequest' aus Sicht des Workflows.
|
||||
return BadRequest(new { Message = result.ErrorMessage });
|
||||
}
|
||||
|
||||
|
||||
@@ -83,12 +83,23 @@ namespace Webshop.Application.Services.Auth
|
||||
public async Task<ServiceResult> ResendEmailConfirmationAsync(string email)
|
||||
{
|
||||
var user = await _userManager.FindByEmailAsync(email);
|
||||
if (user == null || await _userManager.IsEmailConfirmedAsync(user))
|
||||
|
||||
// Fall 1: Benutzer existiert nicht. Aus Sicherheitsgründen trotzdem OK zurückgeben.
|
||||
if (user == null)
|
||||
{
|
||||
// Aus Sicherheitsgründen immer eine positive Antwort geben
|
||||
return ServiceResult.Ok();
|
||||
}
|
||||
|
||||
// Fall 2: Die E-Mail des Benutzers ist bereits bestätigt.
|
||||
// Wir prüfen die Eigenschaft direkt auf dem frisch geladenen User-Objekt.
|
||||
if (user.EmailConfirmed)
|
||||
{
|
||||
// In diesem Fall wollen wir einen Fehler an das Frontend geben,
|
||||
// damit der Benutzer weiß, dass alles in Ordnung ist.
|
||||
return ServiceResult.Fail(ServiceResultType.InvalidInput, "Diese E-Mail-Adresse ist bereits bestätigt.");
|
||||
}
|
||||
|
||||
// Fall 3: Benutzer existiert, ist aber nicht bestätigt -> E-Mail senden.
|
||||
await SendEmailConfirmationEmail(user);
|
||||
return ServiceResult.Ok();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user