loadAuthorization method

Future<void> loadAuthorization({
  1. String? path,
})

Loads the saved authorization for this user.

Implementation

Future<void> loadAuthorization({String? path}) async {
  if (path == null) {
    var home = Platform.environment['HOME'];
    if (home == null) {
      throw 'Unable to determine home directory';
    }
    path = p.join(home, '.snap', 'auth.json');
  }
  var file = File(path);
  String contents;
  try {
    contents = await file.readAsString();
  } catch (e) {
    setAuthorization('', []);
    return;
  }

  var authData = json.decode(contents);
  var macaroon = authData['macaroon'];
  var discharges = authData['discharges'] != null
      ? authData['discharges'].cast<String>()
      : <String>[];
  setAuthorization(macaroon, discharges);
}