authenticate function

Future<AuthenticateReturnDataType> authenticate(
  1. TTSeaClient ttClient,
  2. String alias,
  3. String password, [
  4. Map<String, dynamic> opt = DEFAULT_OPTS,
])

Implementation

Future<AuthenticateReturnDataType> authenticate(
    TTSeaClient ttClient, String alias, String password,
    [Map<String, dynamic> opt = DEFAULT_OPTS]) async {
  final aliasSoul = "~@$alias";
  final idents = await ttClient.getValue(aliasSoul);

  for (var soul in (idents is Map ? idents : {}).keys) {
    if (soul == '_') {
      continue;
    }

    AuthenticateReturnDataType? pair;

    try {
      pair = await authenticateIdentity(ttClient, soul, password);
    } catch (e, st) {
      _debugLog('Error during authenticate: $e');
      _debugLog('$st');
    }

    if (pair != null) {
      return pair;
    }
  }

  throw ('Wrong alias or password.');
}