extractCallbackParams static method
Extracts and validates parameters from a callback URL
Implementation
static Map<String, String> extractCallbackParams(String callbackUrl) {
final uri = Uri.tryParse(callbackUrl);
if (uri == null) {
throw FrappeNetworkException(
'Invalid callback URL format',
code: 'invalid_callback_url',
);
}
final params = uri.queryParameters;
// Check for OAuth2 error parameters
if (params.containsKey('error')) {
final error = params['error']!;
final errorDescription = params['error_description'];
final errorUri = params['error_uri'];
throw FrappeNetworkException(
errorDescription ?? 'OAuth2 error: $error',
code: error,
context: {
if (error.isNotEmpty) 'error': error,
if (errorDescription != null) 'error_description': errorDescription,
if (errorUri != null) 'error_uri': errorUri,
},
);
}
return params;
}