OAuth URI validation helpers, including native-app loopback redirects.
@spec loopback_host?(term()) :: boolean()
@spec normalize(term()) :: {:ok, String.t()} | {:error, :invalid_uri}
@spec protected_resource_metadata_uri(String.t()) :: {:ok, String.t()} | {:error, :invalid_uri}
@spec redirect_allowed?(term(), term()) :: boolean()
@spec same_origin?(term(), term()) :: boolean()
@spec scoped_client_id?(term(), term()) :: boolean()
@spec valid_redirect?( term(), keyword() ) :: boolean()
@spec web_url?( term(), keyword() ) :: boolean()