Added the condition to check if received token for reset password is encoded or not
This commit is contained in:
parent
6ae2912a52
commit
c071b7ecaf
@ -162,12 +162,28 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
UserManager<ApplicationUser>.ResetPasswordTokenPurpose,
|
UserManager<ApplicationUser>.ResetPasswordTokenPurpose,
|
||||||
WebUtility.UrlDecode( model.Token)
|
WebUtility.UrlDecode( model.Token)
|
||||||
);
|
);
|
||||||
|
string token = "";
|
||||||
|
|
||||||
if (!isTokenValid)
|
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)
|
if (!result.Succeeded)
|
||||||
return BadRequest(result.Errors);
|
return BadRequest(result.Errors);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user