email response change
This commit is contained in:
@@ -104,9 +104,11 @@ namespace Webshop.Api.Controllers.Auth
|
|||||||
|
|
||||||
if (result.Type == ServiceResultType.Success)
|
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." });
|
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 });
|
return BadRequest(new { Message = result.ErrorMessage });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -83,12 +83,23 @@ namespace Webshop.Application.Services.Auth
|
|||||||
public async Task<ServiceResult> ResendEmailConfirmationAsync(string email)
|
public async Task<ServiceResult> ResendEmailConfirmationAsync(string email)
|
||||||
{
|
{
|
||||||
var user = await _userManager.FindByEmailAsync(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();
|
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);
|
await SendEmailConfirmationEmail(user);
|
||||||
return ServiceResult.Ok();
|
return ServiceResult.Ok();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user