Added the condition to check if received token for reset password is encoded or not

This commit is contained in:
unknown 2025-03-28 13:08:50 +05:30 committed by Vikas Nale
parent c701187223
commit 35da59304d

View File

@ -162,12 +162,28 @@ namespace MarcoBMS.Services.Controllers
UserManager<ApplicationUser>.ResetPasswordTokenPurpose,
WebUtility.UrlDecode( model.Token)
);
string token = "";
if (!isTokenValid)
return BadRequest("Invalid or expired token.");
{
var isDecodedTokenValid = await _userManager.VerifyUserTokenAsync(
user,
TokenOptions.DefaultProvider, // This is the token provider
UserManager<ApplicationUser>.ResetPasswordTokenPurpose,
model.Token
);
if(!isDecodedTokenValid)
return BadRequest("Invalid or expired token.");
var result = await _userManager.ResetPasswordAsync(user, WebUtility.UrlDecode(model.Token), model.NewPassword);
token = model.Token;
}
else
{
token = WebUtility.UrlDecode(model.Token);
}
var result = await _userManager.ResetPasswordAsync(user, token, model.NewPassword);
if (!result.Succeeded)
return BadRequest(result.Errors);