La OAuth2 spec parece considerar las aplicaciones nativas (Android y iOS) como "clientes públicos", lo que en última instancia significa que no pueden usar el flujo de "credenciales del cliente". Dicho esto, ¿cómo se puede exigir la autenticación en los puntos finales que exponen los recursos propiedad del cliente (en lugar de los propiedad del usuario)?
En mi escenario, estoy desarrollando una API REST que expone algunos puntos finales que no necesitan autenticación de usuario pero que prefiero no dejar "abiertos" (es decir, me gustaría requerir algún tipo de autenticación para prevenir el abuso). Actualmente estoy usando el flujo de "credenciales del cliente" con una contraseña vacía, pero creo que esto es una violación del protocolo. ¿Estoy haciendo las cosas mal?