Estoy diseñando una nueva API REST para un servicio de aplicaciones móviles, que es algo que aún no he tenido que hacer desde cero. Decidí usar OAuth 2.0 con la concesión de Credenciales de contraseña del propietario del recurso.
Idealmente, los usuarios deben iniciar sesión una vez y permanecer autenticados para siempre, hasta que se desconecten o se revoque el acceso. He leído que debo usar tokens de acceso de corta duración y un token de actualización a largo plazo, con el beneficio de que incluso si el token de actualización es robado, necesita el secreto del cliente para solicitar un nuevo token de acceso, que a su vez podría ser revocado.
Pero las aplicaciones móviles se consideran clientes públicos, por lo que no deberían usar los secretos de los clientes, ¿por lo tanto, en realidad, es beneficioso usar tokens de actualización en esta situación, en lugar de usar tokens de acceso de larga vida?