El Plugins de Registro de Facebook permite a los usuarios registrarse en tu sitio web con su cuenta de Facebook. El plugins es un iframe simple de insertar en tu página. Al iniciar la sesión en Facebook, los usuarios ven un formulario que se rellena con la información de Facebook.
El Plugins te da la flexibilidad necesaria para solicitar información adicional que no está disponible a través de la API de Facebook (por ejemplo, película favorita). El plugin permite a los usuarios que no tienen una cuenta en Facebook, registrarse de igual manera que los que si poseen una cuenta en Facebook. Esto elimina la necesidad de ofrecer dos experiencias entrada independiente.
Acá el link de Facebook con toda la documentación.
http://developers.facebook.com/docs/plugins/registration/
Al registranos obviamente podemos obtener los datos basicos del usuario de Facebook como los que ingreso por primera vez.
De esta forma:
|
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 |
<?php define('FACEBOOK_APP_ID', ''); define('FACEBOOK_SECRET', ''); function parse_signed_request($signed_request, $secret) { list($encoded_sig, $payload) = explode('.', $signed_request, 2); // decode the data $sig = base64_url_decode($encoded_sig); $data = json_decode(base64_url_decode($payload), true); if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') { error_log('Unknown algorithm. Expected HMAC-SHA256'); return null; } // check sig $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true); if ($sig !== $expected_sig) { error_log('Bad Signed JSON signature!'); return null; } return $data; } function base64_url_decode($input) { return base64_decode(strtr($input, '-_', '+/')); } if ($_REQUEST) { echo '<p>signed_request contents:</p>'; $response = parse_signed_request($_REQUEST['signed_request'], FACEBOOK_SECRET); echo '<pre>'; print_r($response); echo " |
“;
} else {
echo ‘$_REQUEST is empty’;
}
?>
Tengo realizado 3 ejemplos:
1° Este es el Iframe que podemos insertar en nuestro sitio. es el más basico y estable. Con los datos básicos de Facebook.
http://www.pixelarte.cl/experimentos/registrofb/registro.php
|
1 2 3 4 5 6 7 8 9 10 11 |
<pre><code><iframe src="http://www.facebook.com/plugins/registration.php? client_id=113869198637480& redirect_uri=http%3A%2F%2Fdevelopers.facebook.com%2Ftools%2Fecho%2F& fields=name,birthday,gender,location,email" scrolling="auto" frameborder="no" style="border:none" allowTransparency="true" width="100%" height="330"> </iframe> |
2° Este es un xmlsn:fb podemos agregar Checkbox, combos y cajas de texto. ademas de un captcha.
http://www.pixelarte.cl/experimentos/registrofb/registro2.php
|
1 2 3 4 5 6 7 8 9 |
<pre> <pre><code><div id="fb-root"></div> <script src="http://connect.facebook.net/en_US/all.js#appId={YOUR_APP_ID}&xfbml=1"></script> <fb:registration fields="name,birthday,gender,location,email" redirect-uri="http://developers.facebook.com/tools/echo/" width="530"> </fb:registration> |
Esta forma nos permite usar el campo filds como json, de esta manera.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<pre><code>[ {'name':'name'}, {'name':'email'}, {'name':'location'}, {'name':'gender'}, {'name':'birthday'}, {'name':'password'}, {'name':'like', 'description':'Do you like this plugin?', 'type':'checkbox', 'default':'checked'}, {'name':'phone', 'description':'Phone Number', 'type':'text'}, {'name':'anniversary','description':'Anniversary', 'type':'date'}, {'name':'captain', 'description':'Best Captain', 'type':'select', 'options':{'P':'Jean-Luc Picard','K':'James T. Kirk'}}, {'name':'force', 'description':'Which side?', 'type':'select', 'options':{'jedi':'Jedi','sith':'Sith'}, 'default':'sith'}, {'name':'live', 'description':'Best Place to Live', 'type':'typeahead', 'categories':['city','country','state_province']}, {'name':'captcha'} ] |
3° Por ultimo otro xmlsn:fb pero esta vez creamos datos nosotros y con validacion es la forma avanzada de ocupar este Plugins.
http://www.pixelarte.cl/experimentos/registrofb/registro3.php
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<div id="fb-root"></div> <script src="http://connect.facebook.net/es_ES/all.js#appId=--------------&xfbml=1"></script> <fb:registration redirect-uri="------------------------" fields='[ {"name":"name"}, {"name":"jefaso","description":"Nombre del jefaso","type":"text"}, {"name":"check","description":"Como es?","type":"select","options":{"bo":"buena onda","mo":"mala onda"}}]' onvalidate="validate"></fb:registration> <script> function validate(form) { errors = {}; if (form.jefaso == "") { errors.jefaso = "Llena el campo!!!"; } if (form.check != "mo") { errors.check = "llena el campo o.o"; } return errors; } </script> |
no entiendo, en qué momento guardo por lo menos el nombre del usuario (que se registra con facebook) en mi base de datos ??
gracias por la respuesta, saludos
esa misma pregunta me hice yo :/
en la “redirect_uri” del iframe, lean bien la documentación y prueben mis links
No me queda claro, en si para que me sirve este plugin, que beneficios me da