refreshAccessToken method

Future<GotrueSessionResponse> refreshAccessToken(
  1. String refreshToken, [
  2. String? jwt
])

Generates a new JWT.

Implementation

Future<GotrueSessionResponse> refreshAccessToken(
  String refreshToken, [
  String? jwt,
]) async {
  try {
    final body = {'refresh_token': refreshToken};
    if (jwt != null) {
      headers['Authorization'] = 'Bearer $jwt';
    }
    final options = FetchOptions(headers);
    final response = await _fetch
        .post('$url/token?grant_type=refresh_token', body, options: options);
    if (response.error != null) {
      return GotrueSessionResponse.fromResponse(response: response);
    } else {
      final session =
          Session.fromJson(response.rawData as Map<String, dynamic>);
      return GotrueSessionResponse.fromResponse(
        response: response,
        data: session,
      );
    }
  } catch (e) {
    return GotrueSessionResponse(error: GotrueError(e.toString()));
  }
}