verifyPasswordResetCode static method

Future<bool> verifyPasswordResetCode({
  1. required String email,
  2. required String code,
})

Verify a password reset code without changing the password.

Implementation

static Future<bool> verifyPasswordResetCode({
  required String email,
  required String code,
}) async {
  await Auth.ensureFrameworkTablesExist();

  final record = await _findValidPasswordResetCode(email);

  if (record == null) {
    Log.debug('Invalid or expired password reset code for $email');
    return false;
  }

  final isValid = _verifyPasswordResetCodeRecord(record, code);

  if (!isValid) {
    Log.warning('Invalid password reset code for $email');
    return false;
  }

  return true;
}