parseTokenResponse static method

OAuth2PkceTokenResponse parseTokenResponse(
  1. Map<String, dynamic> responseBody
)

Default GitHub token response parser for OAuth2PkceServerConfig.

Implementation

static OAuth2PkceTokenResponse parseTokenResponse(
  final Map<String, dynamic> responseBody,
) {
  final error = responseBody['error'] as String?;
  if (error != null) {
    final errorDescription = responseBody['error_description'] as String?;
    throw OAuth2InvalidResponseException(
      'Invalid response from GitHub:'
      ' $error${errorDescription != null ? ' - $errorDescription' : ''}',
    );
  }

  final accessToken = responseBody['access_token'] as String?;
  if (accessToken == null) {
    throw const OAuth2MissingAccessTokenException(
      'No access token in GitHub response',
    );
  }

  return OAuth2PkceTokenResponse(accessToken: accessToken);
}