2012-01-15 22 views
5

Sono nuovo con symfony2 e sto provando a connettermi con FOSUserBundle tramite una rest api. L'autenticazione del browser Web funziona correttamente e posso creare utenti con FOSUserBundle. Infatti, voglio creare un servizio web con Symfony. Come posso collegare un utente vie rest? È un bundle usare facilmente il riposo con symfony2?Autenticazione via riposo con symfony2

Grazie.

+2

Si dovrebbe avere uno sguardo [FOSRestBundle] (https://github.com/FriendsOfSymfony/FOSRestBundle). –

risposta

0

Per autenticare l'utente, prima si crea un'azione che richiederà nome utente e password. Quindi trova l'utente dal database in base al nome utente e password. Per effettuare il passaggio come nel database è necessario creare la password come FOSUserBundle lo sta facendo. Più tardi devi creare UsernamePasswordToken. Per questo puoi usare il seguente codice in azione

$providerKey = $this->container->getParameter('fos_user.firewall_name'); 
$token = new UsernamePasswordToken($user, null, $providerKey, $user->getRoles()); 
$this->container->get('security.context')->setToken($token); 

Penso che ti aiuterà.

+4

questa è una risposta sbagliata. L'API REST deve disporre di un provider di autenticazione personalizzato per non utilizzare i cookie per mantenere l'utente connesso. questo è un bell'articolo su come farlo. http://symfony.com/doc/2.0/cookbook/security/custom_authentication_provider.html –

1

Suggerisco di utilizzare "Wsse" come metodo di autorizzazione.

Si può leggere a questo a this post. C'è anche a bundle che fornisce le routine wsse.

A proposito di rendere REST-ful la vostra applicazione, vi suggerirei di usare FosRestBundle

Problemi correlati