OAuth2 Credenciales de cliente y aplicaciones nativas

3

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?

    
pregunta Roy Stark 07.09.2015 - 15:33
fuente

1 respuesta

1

OAuth2 con "credenciales de cliente" sin una contraseña en su escenario suena bien. Esto le permite agregar más tipos de subvención basados en la seguridad en el futuro.

Recomendaría considerar la adición de controles por abuso, mediante solicitudes de limitación. Esto protegería contra ataques de denegación de servicio, limitaría el número de conexiones durante un período de tiempo (usando cuotas) o limitaría el número de conexiones concurrentes (límites de velocidad). Este tipo de protección se realiza normalmente mediante el uso de puertas de enlace API como a127 o volos.

    
respondido por el Vineet Bhatia 11.09.2015 - 21:33
fuente

Lea otras preguntas en las etiquetas