Ámbito de aplicación
Actualmente estamos desarrollando una API REST de back-end que es consumida por varias aplicaciones MVC. En este caso, solo estamos hablando de comunicación servidor-servidor y la API no será consumida directamente por ningún usuario. El entorno es puramente en Windows Server y es para mencionar que no hay planes en este momento para usar el directorio activo.
¿Cuál es la mejor manera de autenticar una aplicación de servidor (MVC) a la API de backend?
Teniendo en cuenta que todo se hace a través de https, en el momento en que estamos considerando Certificado de cliente o autenticación basada en token (a través de Basic / Bearer).
Con ambos enfoques surgen muchos pros y contras y realmente lo haría Me gusta tu ayuda para verificar, corregir y tal vez complementarlas.
Autenticación basada en token
- Escala bien en caso de que decidamos usarlo para otras partes también
- Sin certificados de cliente (instalación, renovación)
Autenticación de certificado de cliente
- Amplia difusión en el entorno empresarial
- Bien establecido
- Cantidad manejable de clientes
- Considerado por muchos como una de las opciones más seguras
- No hay un punto único de falla (servidor de identidad auto hospedado)
Conclusión
Estoy bastante seguro de haber olvidado algunas importantes y aprecio cualquier tipo de aportación.
Además, dado el alcance anterior, ¿qué enfoque optaría?