generateProofAsync static method
Future<String>
generateProofAsync({
- required String secret,
- required String authId,
- required String clientNonce,
- required Map<
String, Object?> authExtra, - required Extra challenge,
- ScramKeyDeriver? keyDeriver,
- Duration timeout = const Duration(seconds: 30),
- AuthenticationStringEncoding stringEncoding = AuthenticationStringEncoding.utf8,
Implementation
static Future<String> generateProofAsync({
required String secret,
required String authId,
required String clientNonce,
required Map<String, Object?> authExtra,
required Extra challenge,
ScramKeyDeriver? keyDeriver,
Duration timeout = const Duration(seconds: 30),
AuthenticationStringEncoding stringEncoding =
AuthenticationStringEncoding.utf8,
}) async {
final saltedPassword = await deriveSaltedPasswordAsync(
secret: secret,
salt: challenge.salt!,
kdf: challenge.kdf ?? kdfPbkdf2,
iterations: challenge.iterations ?? CraAuthentication.defaultIterations,
memory: challenge.memory,
timeout: timeout,
keyDeriver: keyDeriver,
stringEncoding: stringEncoding,
);
try {
return _generateProofFromSaltedPassword(
saltedPassword: saltedPassword,
authId: authId,
clientNonce: clientNonce,
authExtra: authExtra,
challenge: challenge,
stringEncoding: stringEncoding,
);
} finally {
_clear(saltedPassword);
}
}