initialize method

  1. @override
SaslStep initialize({
  1. bool specifyUsername = false,
})
override

Implementation

@override
SaslStep initialize({bool specifyUsername = false}) {
  if (credential.username == null) {
    throw SaslScramException('Username is empty on initialization');
  }

  String username;
  if (specifyUsername) {
    username = 'n=${prepUsername(credential.username!)}';
  } else {
    username = 'n=*';
  }

  /*   List<int> cNonce;
  final rnd = Random();
  cNonce = List<int>.generate(
      SaslAuthenticator.DefaultNonceLength, (i) => rnd.nextInt(256));
  final r = cNonce; */

  final r = randomStringGenerator.generate(SaslAuthenticator
      .DefaultNonceLength); // TODO may want to use above method and exclude ","

  final nonce = 'r=$r';

  final clientFirstMessageBare = '$username,$nonce';
  final clientFirstMessage = '$gs2Header$clientFirstMessageBare';

  return ClientFirst(coerceUint8List(utf8.encode(clientFirstMessage)), hash,
      credential, clientFirstMessageBare, r);
}