createAuthorizationRequest method
McpAuthorizationRequest
createAuthorizationRequest({
- required Uri resource,
- required Uri redirectUri,
- Iterable<
String> ? scopes, - McpPkcePair? pkce,
Implementation
McpAuthorizationRequest createAuthorizationRequest({
required Uri resource,
required Uri redirectUri,
Iterable<String>? scopes,
McpPkcePair? pkce,
}) {
final redirectValue = redirectUri.toString();
if (!redirectUris.any((uri) => uri.toString() == redirectValue)) {
throw const McpOAuthClientRegistrationException(
'Redirect URI is not present in the dynamic client registration.',
);
}
final selectedScopes = _validatedScopes(scopes ?? this.scopes);
if (this.scopes.isNotEmpty &&
selectedScopes.any((scope) => !this.scopes.contains(scope))) {
throw const McpOAuthClientRegistrationException(
'Authorization scopes must not exceed the dynamic client '
'registration.',
);
}
return createMcpAuthorizationRequest(
authorizationServer: authorizationServer,
resource: resource,
clientId: clientId,
redirectUri: redirectUri,
scopes: selectedScopes,
pkce: pkce,
);
}