in src/Unosquare.PassCore.PasswordProvider/PasswordChangeProvider.cs [218:242]
private void ChangePassword(
string currentPassword,
string newPassword,
AuthenticablePrincipal userPrincipal)
{
try
{
// Try by regular ChangePassword method
userPrincipal.ChangePassword(currentPassword, newPassword);
}
catch
{
if (_options.UseAutomaticContext)
{
_logger.LogWarning("The User principal password cannot be changed and setPassword won't be called");
throw;
}
// If the previous attempt failed, use the SetPassword method.
userPrincipal.SetPassword(newPassword);
_logger.LogDebug("The User principal password updated with setPassword");
}
}