refreshAccessToken method

Future<Map<String, dynamic>> refreshAccessToken({
  1. required String refresh,
})

Refresh Access Token.

Returns a Future that resolves to a Map containing the refreshed Nordigen Access Token's Data.

https://nordigen.com/en/account_information_documenation/integration/parameters-and-responses/#/token/JWT%20Refresh

Implementation

Future<Map<String, dynamic>> refreshAccessToken({
  required String refresh,
}) async {
  // Make POST request and fetch output.
  final http.Response response = await http.post(
    Uri.parse('https://bankaccountdata.gocardless.com/api/v2/token/refresh/'),
    headers: _headers,
    body: json.encode(<String, String>{'refresh': refresh}),
  );

  if ((response.statusCode / 100).floor() == 2) {
    return jsonDecode(utf8.decoder.convert(response.bodyBytes));
  } else {
    throw http.ClientException(
      'Error Code: ${response.statusCode}, '
      // ignore: lines_longer_than_80_chars
      'Reason: ${jsonDecode(utf8.decoder.convert(response.bodyBytes))["detail"]}',
    );
  }
}