Warning: include(PoA.php): failed to open stream: No such file or directory in /home/spool/WWW/blog.rediris.es/wordpress-3.0/wp-content/plugins/papi-authentication/papi-authentication.php on line 50 Warning: include(): Failed opening 'PoA.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /home/spool/WWW/blog.rediris.es/wordpress-3.0/wp-content/plugins/papi-authentication/papi-authentication.php on line 50 Middleware » Autenticación básica con el phpPoA2
Inicio > PAPI > Autenticación básica con el phpPoA2

Autenticación básica con el phpPoA2

martes, 11 de mayo de 2010 Dejar un comentario Ir a comentarios

Hoy os vamos a enseñar a federar de la forma más sencilla posible vuestras aplicaciones con el nuevo phpPoA2. Lo primero que debéis hacer es descargaros la última versión desde la forja de RedIRIS, descomprimirlo en vuestro servidor y aseguraros de que vuestros scripts en PHP pueden acceder a él. En primer lugar, debéis configurar el PoA. La librería está diseñada de forma que un único fichero de configuración sea suficiente para configurar el PoA múltiples aplicaciones, así que debéis incluir una sección general en vuestro fichero PoA.conf:

$poa_cfg = array(
'LogFile' => '/var/log/poa.log',
'Debug' => false,
'LogLevel' => E_USER_ERROR,
'Language' => 'es_ES',
'NoAuthErrorURL' => 'http://www.miweb.es/error.php?status=403',
'SystemErrorURL' => 'http://www.miweb.es/error.php?status=503',
'InviteErrorURL' => 'http://www.miweb.es/null/error.php?status=503',
'AuthnEngine' => 'PAPIAuthnEngine',
);


Si esta configuración por defecto no es suficiente para vuestra aplicación o queréis modificar algún parámetro, basta con que los cambiéis en una sección específica para vuestra aplicación, que en caso contrario será igual que la general:

$poa_cfg['miaplicacion'] = $poa_cfg;

Una vez configurado el PoA en cuanto a sus opciones más básicas, debemos configurar la autenticación. El phpPoA, por su arquitectura modular, soporta distintos protocolos tanto de autenticación como de autorización, y viene con algunos por defecto. Con la distribución por defecto, la autorización se realizará mediante el motor de autenticación PAPI, y la podréis configurar en el fichero PAPI.conf:

$papi_cfg = array(
'Location'            => dirname($_SERVER['SCRIPT_NAME']),
'CookieDomain'        => $_SERVER['SERVER_NAME'],
'CookieTimeout'       => 3600,
'LKey'                => 'examplekey',
'PubKeyFile'          => 'pubkey.pem',
'DBType'              => PAPI_DBA,
'DBFile'              => '/var/spool/db/requests.db4',
'RedirectURL'         => 'http://www.rediris.es/SIRGPoA/papiPoA',
'RedirectType'        => GPOA_T
);

Al igual que en la configuración general del PoA, ésta es una configuración por defecto que podréis adaptar a las necesidades de vuestra aplicación, simplemente sobreescribiendo los parámetros por defecto que necesitéis. Recordad que siempre debéis definir una sección correspondiente a vuestra aplicación o el phpPoA se quejará de un error de configuración.

$papi_cfg['miaplicacion'] = array(
'CookieTimeout'       => 1800,
'Location'            => '/miaplicacion'
);

Y ya sólo queda lo más fácil, usarlo desde vuestra propia aplicación:

include("PoA.php");
$poa = new PoA("miaplicacion");
$auth = $poa->authenticate();
 
if ($auth) { // usuario autenticado
 
} else { // ocurrió un error y el usuario no está autenticado
 
}

Fácil, ¿verdad?

Categories: PAPI Tags: ,
  1. jaime
    jueves, 13 de mayo de 2010 a las 12:41 | #1

    Si te digo la verdad yo también pensaba que teníais una conexión de “circunstancias”, pero oye, tanto mejor si lo tenéis enlazado con el directorio 😉

  1. Sin trackbacks aún.
Debes estar registrado para dejar un comentario.