generateProof static method

String generateProof({
  1. required String secret,
  2. required String authId,
  3. required String clientNonce,
  4. required Map<String, Object?> authExtra,
  5. required Extra challenge,
  6. AuthenticationStringEncoding stringEncoding = AuthenticationStringEncoding.utf8,
})

Implementation

static String generateProof({
  required String secret,
  required String authId,
  required String clientNonce,
  required Map<String, Object?> authExtra,
  required Extra challenge,
  AuthenticationStringEncoding stringEncoding =
      AuthenticationStringEncoding.utf8,
}) {
  if (challenge.salt == null) {
    throw ArgumentError('challenge.salt is required');
  }
  final saltedPassword = deriveSaltedPassword(
    secret: secret,
    salt: challenge.salt!,
    kdf: challenge.kdf ?? kdfPbkdf2,
    iterations: challenge.iterations ?? CraAuthentication.defaultIterations,
    memory: challenge.memory,
    stringEncoding: stringEncoding,
  );
  try {
    return _generateProofFromSaltedPassword(
      saltedPassword: saltedPassword,
      authId: authId,
      clientNonce: clientNonce,
      authExtra: authExtra,
      challenge: challenge,
      stringEncoding: stringEncoding,
    );
  } finally {
    _clear(saltedPassword);
  }
}