¿Alguien tiene un ejemplo o alguna idea de cómo se implementaría FOSRestBundle junto con FOSUserBundle? Tengo una aplicación web ya desarrollada con Symfony 2 y FOSUserBundle, pero me gustaría agregar FOSRestBundle para una capa de API. Deseo poder pasarle un nombre de usuario y una contraseña, y recibir algún tipo de token del FOSUserBundle que represente al usuario conectado que luego puedo pasar entre otras llamadas de API. ¿Alguien sabe de una buena manera de hacer esto?Integración de FosUserBundle con FosRestBundle
5
A
Respuesta
3
FOSUserBundle
debe ser nativamente "tranquilo", lo que significa que puede seguir las recomendaciones de REST.
Sin embargo, no está diseñado para funcionar de forma nativa con FOSRestBundle
, la forma más sencilla de hacerlo es anular el UserController en su paquete y adaptar sus acciones.
Por ejemplo, para permitir el registro reparador, se puede escribir la siguiente acción:
public function postUsersAction()
{
$form = $this->container->get('fos_user.registration.form');
$formHandler = $this->container->get('fos_user.registration.form.handler');
$confirmationEnabled = $this->container->getParameter('fos_user.registration.confirmation.enabled');
$process = $formHandler->process($confirmationEnabled);
if ($process) {
$user = $form->getData();
$authUser = false;
if ($confirmationEnabled) {
} else {
$authUser = true;
}
$response = new Response();
if ($authUser) {
/* @todo Implement authentication */
//$this->authenticateUser($user, $response);
}
$response->setStatusCode(Codes::HTTP_CREATED);
$response->headers->set(
'Location',
$this->generateUrl(
'api_users_get_user',
array('user' => $user->getId()),
true
)
);
return $response;
}
return RestView::create($form, Codes::HTTP_BAD_REQUEST);
}
Cuestiones relacionadas
- 1. Uso de FOSRestBundle con formularios
- 2. anotaciones de Symfony2 FOSRestBundle
- 3. default_target_path no funciona con FOSUserBundle
- 4. UserManager en Symfony2 con FOSUserBundle
- 5. FOSUserBundle validación de contraseña
- 6. FOSUserBundle iniciar sesión con correo electrónico (Symfony2)
- 7. FOSRestBundle añade 'S' en la URL get
- 8. FOSUserBundle y recuérdame
- 9. FOSUserBundle y ACL Business Rol
- 10. Symfony2: Cómo crear múltiples formularios de registro con FOSUserBundle
- 11. NUnit Integración con teamcity
- 12. integración continua con mysql
- 13. VS2010 Integración con Subversion
- 14. Integración con Google Docs
- 15. Subversion con integración continua
- 16. RestKit con integración Three20
- 17. Meteor: ¿Integración con Mangosta?
- 18. Integración con SAP
- 19. integración de Paypal con PHP
- 20. Pruebas de integración con blanco
- 21. Integración de Groovy con Java
- 22. Prueba de integración con Ninject
- 23. Integración de Turbomail con Pyramid
- 24. Pruebas de integración con Authlogic?
- 25. Dispositivo de integración con Mongoid
- 26. Integración de Prolog con C#
- 27. Embarcadero de integración con RESTEasy
- 28. Pruebas de integración con MongoDB?
- 29. Crear un symfony2 recordarme cookie manualmente (FOSUserBundle)
- 30. Symfony2 + FOSRestBundle: ¿Habilita/deshabilita la funcionalidad REST por controlador/acción?
Por cierto tener en cuenta para actualizar el FOSUserBundle a la última versión, hubo algunos problemas de seguridad. Consulte el blog de Symfony para obtener más información: http://symfony.com/blog/security-release-fosuserbundle – F481