Si Puedo, una utopia

Saltar al contenido
Si Puedo

Archivos Julio, 2009

Integración de Tractis Identity Verifications con CakePHP [v0.2]

Publicado el Jueves 30 Julio 2009

Hace poco que he vuelto a retomar el tema de la identificación con Tractis Identity Verifications gracias a Manolo Ruiz que me lo recordó ;)

Atenea tech ha desarrollado un módulo para poder usarlo con Drupal con el que se puede conectar de una forma muy sencilla, pero yo lo quiero usar con CakePHP, asi que basándome en este he preparado uno para mi framework favorito ;)

El ejemplo lo puedes comprobar en la pagina http://wifi.planetalmeria.com/usuarios/tractis, puedes acceder usando tu certificado. Si no dispones de un certificado puedes descargar uno de pruebas (Password:1111)

La clase usada es esta:

/* Constantes */
define('API_KEY', ''); // consigue tu apikey en https://www.tractis.com/identity_verifications
define('URL_OK', ''); // URL de destino una vez nos hemos identificado

class Tractics
{

var $status;

function iniciar()
{
 $_GET['api_key'] = API_KEY;
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_POST, true);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $_GET);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_URL, 'https://www.tractis.com/data_verification');
 curl_exec($ch);
 $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
 curl_close($ch);
 return $status;
}
}

Bastante simple ;) ademas se puede descargar desde aquí, este archivo (tractis.php) se coloca en la carpeta vendors de tu app.

La Api Key de Tractis se consigue registrándose en la página.

Ahora solo es llamarlo en el controller


App::import('Vendor', 'tractis');

class Nombre_del_Controller extends AppController
{
 variables

function tractis()
    {
// Vacio
    }

    function tractisok()
    {
$tractis = new Tractics;
$idtractis = $tractis->iniciar();
if ($idtractis==200) {
$user_data = array(
'tractis' => array(
'name' => $_GET['tractis:attribute:name'],
'dni' => $_GET['tractis:attribute:dni'],
'issuer' => $_GET['tractis:attribute:issuer'],
),
);
$this->set('usuario', $user_data);
} else {
$this->Session->setFlash('Idenficacion no realizada');
}
    }
}

Y en las views:

tractis.ctp


<?php echo $form->create(null, array('url' => 'https://www.tractis.com/verifications'));?>
<?php echo $form->input(null,array('type'=>'hidden', 'name'=>'api_key', 'value'=>API_KEY));?>
<?php echo $form->input(null,array('type'=>'hidden', 'name'=>'notification_callback', 'value'=>URL_OK));?>
<?php echo $form->submit('Hacer login', array('name'=>'commit'));?>
<!-- OPCIONAL: el campo public_verification es opcional -->
<?php echo $form->input(null,array('type'=>'hidden', 'name'=>'public_verification', 'value'=>true));?>
<?php echo $form->end(); ?>

y tractisok.ctp


<?php if (isset($usuario)) { ?>
Datos del usuario: <?php print_r($usuario); ?>
<?php } else {?>
Debes <?php echo $html->link('identificarte', '/usuarios/tractis', array('class'=>'add')); ?>
<?php } ?>

y listo.

pd: para usar con el componente Auth

Nueva categoría, nuevo post

Publicado el Miércoles 8 Julio 2009

No ha podido ser, he “caido” tambien en comentar que “veo” en las redes, pero era algo normal, ya que en ellas (sobretodo Facebook y Twitter) estoy más activo que en el blog :P

5 Julio

nothnk la guerra se acabó, http://www.w3.org/2009/06/x… ha ganado el HTML5

pacoxxi …la prensa en papel y digital se pasa con Abla – photo at http://twitxr.com/pacoxxi/u…

pcambra RT @fdelpozo: New blog post: Venta de Failbeta http://bit.ly/vxPab

patxangasComo mola .net, ironia claro http://short.to/ijwu

6 Julio

pcambra [cambrico.net] Aquí no queremos tu sistema operativo, mejor usa “Window” http://u.mavrev.com/hs61

Ariakas Vista “La chica que viaja en el tiempo” http://tinyurl.com/37jy4o. Extrañísima, mezcla varios géneros, historia complicada…

jjmerelo Julio, mes de los fallos en twitter: http://www.hispasec.com/una… Si encuentras algún error en el API, avisa

lmmartin Genial!! RT: @JesusEncinar Nuevo Post. 10 consejos para emprendedores sobre cómo gestionar un equipo en una start-up, http://tr.im/r2rA

congrio RT @reyesmontiel:En mi blog: El Consejo Consultivo de la Comunidad de Madrid, otro ejemplo de austeridad http://tinyurl.com/ox8kph

JordiBufi Tremendo FAQ de @guykawasaki sobre sus razones para twittear http://bit.ly/13MGRp

lmmartin Really useful! RT: @smashingmag: HTML 5 Cheat Sheet (PDF) – http://tr.im/r2ZD

saikodelic “Fotocopian” la web de Obama y tienen los santos coj… de decir que el diseño es “original”. Yo flipo con estas cosas http://bit.ly/pxJsx

smmahugo RT @eventoblog: En 2007, 700 inscritos en 4 meses. En 2008, tardamos 11 días en llegar a esa cifra. En 2009, ¡¡5 horas!! #ebe09

torresburrielRT @userfocus: 247 web usability guidelines. Includes free interactive Excel workbook. http://tinyurl.com/kww9sl

pacoxxi http://bit.ly/XSWp0 – Hay un empeño tremendo en mostrar a la población rural como si fuera ‘tonta-del-bote 2.0′ (que me perdone @olea)

Ariakas Un post que critica a los pijos http://tinyurl.com/lm6mtq, de un blog bastante interesante. Totalmente de acuerdo con el autor.

7 Julio

balhisay el manuscrito más antiguo de la Biblia en Internet… http://www.codex-sinaiticus…

JordiBufi Development Seed saca Open Atrium http://tinyurl.com/ksv4wn visto en http://tinyurl.com/l96vo6

neuro_carlos interesante http://www.opensourceopenmi…

guillermomiron Según me están diciendo algunos ‘afectados’, Tuenti se pone serio y ha empezado a borrar cuentas a lo grande. Veniros para el feisbuc hombre

almata http://eltrato.atrapalo.com/ ::: Grande Atrápalo, grande… ¿confianza 2.0?

angeldominguez *instante de odiar mi trabajo a muerte*

gaona El único LP (bueno, casette) que he comprado en mi vida, el primer día que se ponía a la venta ha sido Dangerous, de Michael Jackson.

Vaya, un poco mas y pongo todo el twitter :P pero es increible lo “interesante” que puede llegar a ser.

El contenido este blog está bajo licencia Creative Commons (Reconocimiento - Compartir igual) - desarrollo javiermaties.com