Bonjour à tous,
Dans le cadre d'un projet professionel, je dois gerer la connexion via 5 reseaux sociaux :
- Viadeo
Sur Symfony, j'utilise deja le fameux FOSUserBundle, pour la gestion des comptes locaux.
Pour les reseaux, je souhaite utiliser la librairie HybridAuth (http://hybridauth.sourceforge.net/) qui facilite la tache si on souhaite gerer plusieurs reseaux comme moi ! :p
Dans mon UserBunble\SocialController, j'ai fais une action me permettant de recuperer les infos d'un utilisateur, par exemple avec Facebook :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 class SocialController extends ContainerAware { /** * Check connection whit a social network * * @param string $socialName */ public function checkAction($socialName) { $config = array( 'base_url' => 'http://'.$_SERVER['HTTP_HOST'].'/ha/', 'providers' => array( 'Facebook' => array( 'enabled' => true, 'keys' => array( 'id' => 'xxx', 'secret' => 'xxx' ), 'scope' => 'email, user_about_me, user_birthday, user_hometown', 'display' => 'popup' ), 'Viadeo' => array( 'enabled' => true, 'keys' => array( 'id' => 'xxx', 'secret' => 'xxx' ), ), 'Twitter' => array( 'enabled' => true, 'keys' => array( 'key' => 'xxx', 'secret' => 'xxx' ) ), 'LinkedIn' => array( 'enabled' => true, 'keys' => array( 'key' => 'xxx', 'secret' => 'xxx' ) ) ) ); $hybridauth = new Hybrid_Auth($config); // $adapter = $hybridauth->authenticate( "Viadeo" ); // $contacts_list = $adapter->api()->get('/me/contacts')->execute(); $adapter = $hybridauth->authenticate( "Facebook" ); $user_profile = $adapter->getUserProfile(); echo '<pre>'; print_r($user_profile); die('register with: '.$socialName); } }
Ce qui me donne en resultat avec /social/check/facebook :
Donc c'est cool, j'ai les infos maintenant j'aimerai faire deux cas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Hybrid_User_Profile Object ( [identifier] => 414141 [webSiteURL] => [profileURL] => http://www.facebook.com/toto [photoURL] => https://graph.facebook.com/424242/picture?type=square [displayName] => Sullivan Sénéchal [description] => 42 [firstName] => Sullivan [lastName] => Sénéchal [gender] => male [language] => [age] => [birthDay] => 28 [birthMonth] => 01 [birthYear] => 1991 [email] => xxx@gmail.com [phone] => [address] => [country] => [region] => Lesquin [city] => [zip] => ) register with: facebook
L'utilisateur est reference sur la base avec son identifiant Facebook
-> Je le connecte sur le site
L'utilisateur n'est pas reference
-> Je le redirige vers le formulaire d'inscription de FOSUB, avec les champs pre-remplis par rapport aux donnees recuperes.
Ma question est, qu'elles sont les classes FOS a surcharge et la quelle est la meilleur demarche pour arriver a mes fins ?
Si vous n'avez pas tout compris, n'hesitez pas a me demander des details !
Merci d'avance de votre aide !
Sullivan.
Partager