Symfony

Seguridad avanzada

Custom authenticators, voters, security expressions, protección CSRF, prevención de XSS, rate limiting, hardening en producción, configuraciones incorrectas de JWT/OAuth2

22 preguntas de entrevista·
Senior
1

¿Qué interfaz debe implementar un custom authenticator en Symfony 6+?

Respuesta

En Symfony 6+, los custom authenticators deben implementar AuthenticatorInterface del componente Security HTTP. Esta interfaz define los métodos supports(), authenticate(), onAuthenticationSuccess(), onAuthenticationFailure() y opcionalmente createToken(). Reemplaza el antiguo sistema Guard que se usaba en Symfony 4/5.

2

¿Cuál es el rol del método supports() en un custom authenticator?

Respuesta

El método supports() determina si el authenticator debe procesar la petición actual. Recibe la Request y devuelve un booleano. Si es true, se llamará al método authenticate() seguido de onAuthenticationSuccess() u onAuthenticationFailure(). Esto permite tener varios authenticators activos en el mismo firewall, cada uno gestionando un tipo de autenticación específico.

3

¿Qué debe devolver el método authenticate() de un custom authenticator en caso de éxito?

Respuesta

El método authenticate() debe devolver un objeto Passport que contiene un UserBadge (identificador del usuario) y credentials badges. El Passport también puede contener badges adicionales como CsrfTokenBadge o RememberMeBadge. Symfony usa luego este Passport para crear el token de autenticación y cargar el usuario a través del UserProvider.

4

¿Cómo definir un Voter personalizado para controlar el acceso a un recurso específico?

5

¿Qué estrategia del AccessDecisionManager se recomienda para aplicaciones que requieren seguridad estricta?

+19 preguntas de entrevista

Domina Symfony para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis