Estoy diseñando una arquitectura orientada a servicios, y también necesito un servicio de autenticación para reconocer a los clientes y permitirles el acceso a los recursos.SOA - Diseño del servicio de autenticación
En realidad me encontré con dos soluciones posibles:
- signo cada sola petición usando un pubkey y PrivateKey
- basada en token de autenticación que utiliza pubkey y PrivateKey
No estoy asumiendo un OAuth2 servicio, ya que agregaría demasiados gastos generales diseñando el sistema para mis necesidades, en su lugar, prefiero adoptar una solución de autenticación más simple (pero también fuerte).
Así que aquí vengo con mi AuthenticationService
, que puede ser consultado por el cliente que realiza la solicitud API (obteniendo un token para pasar junto con la solicitud) o ser consultado por cada punto final API para realizar una verificación inversa del HMAC que firmó la solicitud para ver si coincide (verificar si la clave privada utilizada para producir el HMAC era válida).
puedo ver más a ser más fácil para el desarrollador final de la realización de varias operaciones, pero también se requieren más controles para validar el token y el mango es de caducidad ...
¿Qué posibles problemas de seguridad podría la solución testigo plantear que el HMAC de solicitud única no? ¿Qué prefieres y, posiblemente, por qué?
¿qué quiere decir con _SOA authentication_ ?? ¿Estás construyendo tu propia suite SOA? SOA está compuesto de muchas tecnologías (mensajería, servicios web, BPEL, etc.), la suite SOA que utilizará debe proporcionarle los medios ya existentes para autenticar a los usuarios en cada solicitud, ya sea que provengan de fuera del ESB o dentro de eso –
Quiero decir que toda la arquitectura está construida orientada al servicio. Todos los servicios deben reconocer quién es el usuario para permitir/rechazar la solicitud, por lo que necesito autenticación, que también será un servicio independiente en sí mismo. –
@AlonsoDominguez Edité el cuerpo del mensaje, tienes razón, tal vez no podría estar claro como "Autenticación SOA". –