Cómo asegurar adecuadamente un servidor de recursos, pero permitir que los clientes públicos tengan acceso en un estilo máquina-máquina sin interacción del usuario

0

Mi escenario es este, tengo mi API web que quiero proteger de personas externas, pero quiero permitir el acceso a mis propias aplicaciones que podrían ejecutarse en Windows Forms / Android / IOS / etc ... [considerado clientes públicos].

Estoy usando el servidor de identidad 3 ( enlace de Github ) como la implementación de mi proveedor de identidad.

Mi idea inicial fue generar un ID de cliente + secreto y ponerlo (de alguna manera) en todos los clientes, pero esto se considera peligroso porque los clientes públicos no deberían tener secretos, porque con más o menos esfuerzo siempre puede tener acceso a it.

Entonces, ¿cuál es la mejor manera de proteger mi API web? Tengo el control de la API web, los clientes y el servidor de Identidad, porque son todos mis productos.

    
pregunta user1845593 06.05.2016 - 16:38
fuente

1 respuesta

0

Rate-Limit las llamadas a la API. Asegúrese de que cada instalación obtenga una ID única (consulte UUID). Limite las llamadas a su API por UUID e IP a un límite estricto.

Pero tenga cuidado: a veces, varios usuarios legítimos usan la misma dirección IP. Por lo tanto, debe establecer su límite a aproximadamente 2-3 veces de lo que consumirá un solo cliente.

    
respondido por el marstato 06.05.2016 - 18:22
fuente

Lea otras preguntas en las etiquetas