validateScopes static method
Validates OAuth2 scopes
Implementation
static List<String> validateScopes(List<String> scopes) {
final issues = <String>[];
if (scopes.isEmpty) {
issues.add('At least one scope must be specified');
return issues;
}
for (final scope in scopes) {
if (scope.isEmpty) {
issues.add('Scope cannot be empty');
continue;
}
if (scope.contains(' ')) {
issues.add('Individual scope cannot contain spaces: "$scope"');
}
// Check for valid characters (letters, numbers, underscore, hyphen, colon, period)
final scopeRegex = RegExp(r'^[a-zA-Z0-9_\-:.]+$');
if (!scopeRegex.hasMatch(scope)) {
issues.add('Scope contains invalid characters: "$scope"');
}
}
return issues;
}