Selects the OAuth client registration mechanism for an authorization server.
The modern priority is pre-registration, configured Client ID Metadata
Document, deprecated Dynamic Client Registration, then an actionable error.
A metadata URL is never invented and application_type is never inferred.
For modern MCP, pre-registered credentials also require a
:credential_issuer configuration value. It is compared exactly with the
discovered authorization-server issuer before any secret reference is
resolved. Client ID Metadata Document identifiers remain portable across
authorization servers.
Existing client_id, client_secret, and client_metadata_url keys remain
accepted as compatibility aliases for the explicit :client_registration
option.
Summary
Functions
Selects and validates a registration mechanism without network calls.
Types
@type application_type() :: :native | :web
@type configured_strategy() :: :auto | {:pre_registered, String.t(), secret_ref()} | {:cimd, String.t()}