PAPI Archivos

The PAPI authentication and authorization framework

PAPI@LISTSERV.REDIRIS.ES

Opciones: Vista Clásica

Use Monospaced Font
Mostrar las partes HTML
Mostrar todas las cabeceras de correo

Tema: [<< Primero] [< Prev] [Siguiente >] [Último >>]

Print Responder
Sergio Gómez <[log in para visualizar]>
Mon, 5 Jul 2010 09:28:10 +0200
text/plain (146 lines)
On Sun, 2010-07-04 at 17:17 +0200, Agustin Lopez wrote:
> 
> Gracias Sergio!
> 
> Curiosamente sólo me aparece en el CGI la variable REMOTE_USER cuando
> pongo 
>     PAPILazySession Off

Las cosas de no documentar... es que estas cosas las hablamos en su día
en la lista y ya me descuidé. Está claro que debo meterle mano a eso,
pero tiempo es que no sé de donde sacarlo.

Las sesiones Lazy no se inician automáticamente, hay que indicar en la
URL que vamos a iniciar sesión. Se usan para servicios web que pueden
ser accesibles aunque el usuario no esté identificado.

Para activar las LazySession necesitas poner un Link en la web que
apunte a:

<a
href="http://servidor.dominio.es/directorio/PAPI/cookie_handler.cgi?target=URL_DE_RETORNO"
>Iniciar sesión</a>

Lo que interesa de esa URL es el parámetro target al cookie-handler de
PAPI.

Si se pulsa sobre el enlace se comienza la identificación en PAPI y
cuando termine, la web que se carga es la URL_DE_RETORNO. Que puede ser
la página principal de la aplicación o cualquier otra.


> Además aparecen las siguientes variables:
> HTTP_X_PAPI_ASID=UVAS
> HTTP_X_PAPIATTR_USERNAME=pepito
> HTTP_X_PAPIATTR_PASSWORD=xxxxxx
> 
> Quizá es algún problema con mi modpapi.

Cuando te identificas, tanto el papi de perl, como mod_papi, crean un
HTTP_X_PAPIATTR por cada atributo que manda el AS encriptado en la
LCOOK.

Así que el AS está mandando el atributo password... 

Para que el REMOTE_USER funcione, debes poner

PAPIRemoteUserAttribute username

ya que, como te comenté, por defecto busca uid.

> Donde puedo bajar la versión que usais vosotros de modpapi?

Es la misma que la de la forja.

> Saludos,
> Agustín
> 
> 
> 
> 
> Sergio Gómez escribió: 
> > Por defecto, mod_papi espera que llegue codificado en la LCOOK un
> > atributo uid, ese atributo es usado para crear REMOTE_USER. El AS debe
> > ser el que envíe el uid. Si el AS envía otro atributo distinto (como
> > ePTI), solo tienes que indicarle cual es con 
> > 
> > PAPIRemoteUserAttribute
> > 
> > en la configuración de mod_papi
> > 
> > Un saludo,
> > 
> > On Fri, 2010-07-02 at 13:44 +0200, Agustin Lopez wrote:
> >   
> > > Hola de nuevo!
> > > 
> > > Estoy usando mod_papi como comentas pero no me llega REMOTE_USER si uso
> > > el modo  PAPIWAYF built-in.
> > > 
> > > ¿Teneis idea de a qué puede deberse?
> > > 
> > > Muchas gracias,
> > > Agustín
> > > 
> > >     
> > > > Proteges el Location de tu aplicacion con mod_papi configurado en modo 
> > > > 'lazy' y al
> > > > pinchar en Login, rediriges. Si vuelve ya autenticado, mod_papi te 
> > > > habra definido
> > > > $_SERVER['REMOTE_USER']. Por tanto una de las primeras cosas que debe 
> > > > hacer
> > > > tu aplicacion es ver si esa variable tiene valor y si es asi, 
> > > > considerar que ya esta
> > > > autenticado. No haria falta que mantengas cookies locales. Si lo 
> > > > haces, al pinchar el
> > > > usuario en 'logout' no basta con borrarlas, porque puede volver a 
> > > > pinchar en 'Login'
> > > > y volveria a entrar sin pedirle usuario/clave por las cookies de PAPI. 
> > > > El boton de
> > > > logout debe forzar el logout de PAPI para que no pase eso.
> > > > 
> > > > La config. es algo como:
> > > > 
> > > > <Location /cgi-bin/XXX>
> > > >     AuthType PAPI
> > > >     PAPILazySession On
> > > >     PAPIRemoteUserAttribute ePTI   # El atributo de PAPI del que sacar 
> > > > 'REMOTE_USER'
> > > >     Require valid-user
> > > >     PAPIServiceID XXX_svcid
> > > >    ...
> > > >     PAPIGPoAURL ...
> > > > </Location>
> > > > 
> > > > Y en la aplicacion (Consigna es PHP pero es parecido):
> > > > 
> > > >     if (!array_key_exists('REMOTE_USER',$_SERVER)) {
> > > >         header("Location: " . <URL-de-tu-aplicacion>.
> > > >             "/PAPI/cookie_handler.cgi?target=" .
> > > >             urlencode($GLOBALS["script_name"]));
> > > >         exit;
> > > >     }
> > > > 
> > > >   // Aqui esta autenticado, solo algo 'superior' (mod_papi) ha podido 
> > > > poner $SERVER['REMOTE_USER']
> > > >   ...
> > > > 
> > > > Un saludo
> > > > 
> > > > P.D.: Disculpad la ausencia de acentos, mi PC tiene un problema con 
> > > > ellos...
> > > > 
> > > > 
> > > >       
> > 
> >   
> 

-- 
Sergio Gómez Bachiller <[log in para visualizar]>
Operador, Servicio de Informática
Universidad de Córdoba
Edificio Ramón y Cajal
Campus de Rabanales
Telf: 957 21 2132 Fax: 957 21 8116

ATOM RSS1 RSS2