Normalizes public-client Dynamic Client Registration metadata.
This is a compatibility boundary for RFC 7591 clients. Applications own generated client IDs, persistence, lifecycle, rate limits, and cleanup.
@type t() :: %TamaOAuth.ClientRegistration{ application_type: term(), client_name: term(), client_uri: term(), grant_types: term(), metadata_digest: term(), redirect_uris: term(), response_types: term(), scope: term(), token_endpoint_auth_method: term() }
@spec digest(map() | t()) :: binary()
@spec normalize( map(), keyword() ) :: {:ok, t()} | {:error, TamaOAuth.Error.t()}