createAuthMessage static method
Implementation
static String createAuthMessage(
String authId,
String helloNonce,
HashMap authExtra,
Extra challengeExtra,
) {
final clientFirstBare = 'n=${Saslprep.saslprep(authId)},r=$helloNonce';
final serverFirst =
'r=${challengeExtra.nonce!},s=${challengeExtra.salt!},i=${challengeExtra.iterations}';
final cBindName = authExtra['channel_binding'];
final cBindData = authExtra['cbind_data'];
final cBindFlag = cBindName == null ? 'n' : 'p=$cBindName';
final cBindInput = <int>[
...utf8.encode('$cBindFlag,,'),
if (cBindData != null) ...base64.decode(cBindData as String),
];
final clientFinalNoProof =
'c=${base64.encode(cBindInput)},r=${authExtra['nonce']}';
return '$clientFirstBare,$serverFirst,$clientFinalNoProof';
}