A ver,

Creo que estamos hablando de varias cosas mezcladas acá y no con el
suficiente rigor del caso.

Una cosa es "que el mismo login y password que funciona en el sistema
A funcione en el sistema B" que no es un problema muy difícil usando
una tabla de usuarios en un lugar común, un servidor LDAP o alguna
forma de recurso compartido y otra cosa bastante distinta es hacer que
"cuando el usuario este logueado en la aplicación A y vaya a la
aplicación B" ya aparezca logueado.

Les pongo un ejemplo. En este momento, yo estoy escribiendo este
correo desde una cuenta Gmail, en la que evidentemente he iniciado
sesión. También tengo una cuenta de usuario en YouTube que está
ASOCIADA a esta misma dirección de correo, que coincidentemente
corresponde con la misma "Google Account". Sin embargo, acabo de ir a
la página de YouTube y mirando en la esquina superior derecha me
ofrece la opción de iniciar sesión, es decir, mi sesión no ha iniciado
automáticamente.

Lo que tengo que hacer en YouTube es hacer click en "Sign In" y como
YA estoy logueado en Gmail, ahí si la sesión de YouTube se inicia sin
volverme a pedir mis credenciales de acceso.

El tema tiene que ver en parte con el manejo de las cookies que como
deben saber está asociado a los dominios. Cuando un dominio como
gmail.com coloca un cookie de sesión en mi browser, este solo es
enviado en cada petición posterior que hago a Gmail, no hay forma de
que otros dominios leen o reciban el valor de esa cookie.

Como tanto tu homepage como el wiki son aplicaciones web,
presumiblemente en PHP, seguramente ambas usan mecanismos de sesión
apoyadas en cookies así que todo depende principalmente de que
dominios estás utilizando para cada una de las aplicaciones y si el
cookie de sesión puede ser compartido o no.

En caso de que los dos dominios sean completamente distintos y no
quieras reinventar la rueda cocinando tu mismo tu propia solución
puedes tener un grado de integración idéntico al que tienen por
ejemplo Twitter.com y Twitpic.com y muy similar al que tienen Gmail y
YouTube empleando el protocolo "oAuth":

http://en.wikipedia.org/wiki/OAuth

Este mecanismo fue creado para tareas de "autorización" (por ejemplo
que una aplicación entre a tu flickr para editar tus fotos y cambiarle
los colores) y no tanto para "autenticación" (poder loguearse, por
ejemplo) pero podría servir muy bien para los fines que tienes.

Lo que harías es lo siguiente:

01.- Implementas tu intranet con PHP o lo que quieras, con la base de
datos que quieras y tu propia tabla de usuarios y le agregas soporte
oAuth usando alguna librería para el lenguaje de programación que
hayas usado.

02.- Modificas el software de tu wiki para que puede conectarse a un
servidor oAuth y para que las cuentas locales puedan estar asociadas a
credenciales de oAuth.

03.- Haces que la manera de iniciar sesión en el wiki ya no consulte
su propia tabla de usuarios y passwords sino que use las credenciales
de oAuth para probar si siguien siendo válidas en el servidor oAuth.
Estas credenciales son como un segundo juego de usuario y password que
tienes en tu intranet y que también está asociado a tu usuario y se ha
creado específicamente para que los use tu wiki, que es la aplicación
cliente oAuth.

04.- También tendrías que modificar el sistema de registro de tu wiki
de forma que quede deshabilitado o que pida asociar una cuenta oAuth
de tu intranet.


Lo que va a pasar si haces todo esto es lo siguiente.

Asumamos que formateas la máquina del usuario, no hay cookies, todo es
nuevo, y es la primera vez.

01.- Se te ocurre visitar el wiki. No hay sesión. En lugar de locar tu
usuario y password propios del wiki el sistema de redirige a la
Intranet y te pide las credenciales de acceso de la Intranet.

02.- Colocas tus credenciales de acceso en la Intranet y aceptas
autorizar a la aplicación "wiki" para que tenga unas credenciales de
acceso oAuth propias asociadas a tu cuenta.

03.- Luego de que aceptes la autorización, tu browser es redirigido a
la página del wiki y ya apareces logueado.

04.- Si en ese momento se te ocurre ir a la Intranet, también vas a
aparecer logueado.

05.- Dependiendo de como esten configuradas las cookies tanto de la
intranet como del wiki, lo más probable es que por días o semanas o
por un tiempo indefinido permanezca ese usuario logueado en AMBOS
sistemas.

Una desventaja que tiene este sistema es que en realidad tu usuario de
la intranet y tu usuario del wiki son dos cuentas de usuario
distintas, que usan sus propios cookies de sesión.

Por ejemplo, acabo de probar con Twitter y Twitpic y cuando cierras la
sesión en Twitter sigues logueado en Twitpic. ¿Porqué? Porque en
Twitpic estás logueado con un usuario, digamos el usuario 1000, que
tiene un login "123456789" y un password "98765431" que TAMBIEN son
válidos para tu usuario "juanperez" de Twitter pero solo si se usan
desde la apicación Twicpic. Mientras no cierres sesión en Twitpic este
juego ALTERNATIVO de credenciales de acceso (los tokens de oAuth) no
se descartan y siguen siendo válidos mientras tu no quites la
autorización a la aplicación Twicpic desde el panel de Twitter.

En resumen, no es lo mejor del mundo pero es algo más o menos
razonable que tiene la principal ventaja de ser de lo más "estandar"
que hay en este momento para este tipo de casos de uso en Internet.

Aquí hay una suite oAuth para PHP que te puede servir si tus
aplicaciones están en PHP:

http://code.google.com/p/oauth-php/

El propio PHP viene también ahora con una extensión oAuth que podrías evaluar:

http://www.php.net/manual/es/book.oauth.php

En resumen: puedes aprender más sobre cookies, sobre seguridad web,
sobre sistemas distribuídos y armarte tu propia solución a medida, que
no es estándar y que quizás funcione exactamente como tu quieres o
usar oAuth que ya viene hecho para implementar en la mayoría de
lenguajes y que cada vez es usado por más aplicaciones web.

Lo bueno de usar oAuth en tu intranet es que si luego bajas e instalas
software opensource  que soporte oAuth o quieres agregar nuevas
aplicaciones web a tu "red" de aplicaciones, así utilices otros
lenguajes, tienes un mecanismo más o  menos estándar y conocido de
hacer esta integración.

Espero que esto te sirva, no es taan complicado como parece, lee bien
los ejemplos y si gustas pregúntame en privado o en público, como
desees. Acá otras personas de la lista también deben conocer de oAuth
seguramente así que seguro varios te podemos ayudar.

Quizás hay otras opciones, pero esta es la que me parece mas obvia y
una de las que se usa más en la actualidad.

Antonio




El día 30 de mayo de 2011 18:49, Jorge Felix Ramirez Yto
<[email protected]> escribió:
> Hum, a entiendo.. hum peos mejor aún voy a probar lo que me comentas, solo
> que el servidor ldap no lo administramos ademas no nos logeamos con usuarios
> de la empresa, ya que somos el soporte y tenemos contenidos ahi que no
> dejamos que los usuarios tengan accesos.
>
> #######################################################################################################
>
>
> El 30 de mayo de 2011 17:11, Rafael Olaechea <[email protected]> escribió:
>>
>> Para que funcione lo de Plone, solo es necesario tener acceso al LDAP (e.g
>> de lectura). No necesitas administrarlo.
>>
>>
>> 2011/5/30 Jorge Felix Ramirez Yto <[email protected]>
>>>
>>> Que tal, muy buena lo de Plone, sería más genial aún. Pero el detalle es
>>> que no administro el servidor LDAP de la empresa. solo el servidor de
>>> soporte. Pero muy buenas ideas.
>>>
>>> Alguna otra alternativa?
>>>
>>>
>>> #######################################################################################################
>>>
>>>
>>> El 30 de mayo de 2011 15:03, Rafael Olaechea <[email protected]>
>>> escribió:
>>>>
>>>> Hola,
>>>> La manera más fácil para el usuario, es que tu sistema detecte sus
>>>> credenciales de windows y esten automáticamente logueados (asumiendo que 
>>>> hay
>>>> un Active Directory en tu trabajo). Hay software libre como Plone, que te
>>>> permite crear una  intranet y te hace eso por ti. Esta en
>>>> http://www.plone.org .
>>>>  En nuestra organización  utilizamos Plone y esta enlazado con el Activ
>>>> Directory LDAP (es bien facil hacer el enlace, solo tienes que poner en
>>>> plone la direccion y otros datos de tu LDAP), para que los usuarios se
>>>> logueen con su clave de windows. Es tambien facil hacer que plone "detecte"
>>>> que el usuario esta logueado en windows y ya no le requiera clave ni
>>>> usuario.
>>>>
>>>> Saludos,
>>>> Rafael
>>>>
>>>> 2011/5/30 Jorge Felix Ramirez Yto <[email protected]>
>>>>>
>>>>> Que tal amigos, como están todos tengan un caluroso saludo...
>>>>>
>>>>> Bueno quería consultarles lo siguiente:
>>>>>
>>>>> Actualmente estoy implementando varias soluciones dentro de mi trabajo
>>>>> como por ejemplo, una wiki y una galería de imagenes, pero me gustaría 
>>>>> poder
>>>>> hacer una pagina inicial la cual tenga un usuario y clave, osea una 
>>>>> pantalla
>>>>> de login.
>>>>>
>>>>> Si, esto no es tan complicado y hay soluciones en linea, pero la
>>>>> interrogante es como hago para que dicho logeo me logee a su vez en mi 
>>>>> wiki
>>>>> local. y si es posible lea la base de usuarios de la wiki..
>>>>>
>>>>> Bueno espero puedan ayudarme y gracias por el tiempo prestado. Saludos.
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Lista de correo Linux-plug
>>>>> Temática: Discusión general sobre Linux
>>>>> Peruvian Linux User Group (http://www.linux.org.pe)
>>>>>
>>>>> Participa suscribiéndote y escribiendo a:  [email protected]
>>>>> Para darte de alta, de baja  o hacer ajustes a tu suscripción visita:
>>>>> http://voip2.voip.net.pe/mailman/listinfo/linux-plug
>>>>>
>>>>> IMPORTANTE: Reglas y recomendaciones
>>>>> http://www.linux.org.pe/listas/reglas.php
>>>>> http://www.linux.org.pe/listas/comportamiento.php
>>>>> http://www.linux.org.pe/listas/recomendaciones.php
>>>>
>>>>
>>>> _______________________________________________
>>>> Lista de correo Linux-plug
>>>> Temática: Discusión general sobre Linux
>>>> Peruvian Linux User Group (http://www.linux.org.pe)
>>>>
>>>> Participa suscribiéndote y escribiendo a:  [email protected]
>>>> Para darte de alta, de baja  o hacer ajustes a tu suscripción visita:
>>>> http://voip2.voip.net.pe/mailman/listinfo/linux-plug
>>>>
>>>> IMPORTANTE: Reglas y recomendaciones
>>>> http://www.linux.org.pe/listas/reglas.php
>>>> http://www.linux.org.pe/listas/comportamiento.php
>>>> http://www.linux.org.pe/listas/recomendaciones.php
>>>
>>>
>>> _______________________________________________
>>> Lista de correo Linux-plug
>>> Temática: Discusión general sobre Linux
>>> Peruvian Linux User Group (http://www.linux.org.pe)
>>>
>>> Participa suscribiéndote y escribiendo a:  [email protected]
>>> Para darte de alta, de baja  o hacer ajustes a tu suscripción visita:
>>> http://voip2.voip.net.pe/mailman/listinfo/linux-plug
>>>
>>> IMPORTANTE: Reglas y recomendaciones
>>> http://www.linux.org.pe/listas/reglas.php
>>> http://www.linux.org.pe/listas/comportamiento.php
>>> http://www.linux.org.pe/listas/recomendaciones.php
>>
>>
>> _______________________________________________
>> Lista de correo Linux-plug
>> Temática: Discusión general sobre Linux
>> Peruvian Linux User Group (http://www.linux.org.pe)
>>
>> Participa suscribiéndote y escribiendo a:  [email protected]
>> Para darte de alta, de baja  o hacer ajustes a tu suscripción visita:
>> http://voip2.voip.net.pe/mailman/listinfo/linux-plug
>>
>> IMPORTANTE: Reglas y recomendaciones
>> http://www.linux.org.pe/listas/reglas.php
>> http://www.linux.org.pe/listas/comportamiento.php
>> http://www.linux.org.pe/listas/recomendaciones.php
>
>
> _______________________________________________
> Lista de correo Linux-plug
> Temática: Discusión general sobre Linux
> Peruvian Linux User Group (http://www.linux.org.pe)
>
> Participa suscribiéndote y escribiendo a:  [email protected]
> Para darte de alta, de baja  o hacer ajustes a tu suscripción visita:
> http://voip2.voip.net.pe/mailman/listinfo/linux-plug
>
> IMPORTANTE: Reglas y recomendaciones
> http://www.linux.org.pe/listas/reglas.php
> http://www.linux.org.pe/listas/comportamiento.php
> http://www.linux.org.pe/listas/recomendaciones.php
>
_______________________________________________
Lista de correo Linux-plug
Temática: Discusión general sobre Linux
Peruvian Linux User Group (http://www.linux.org.pe)

Participa suscribiéndote y escribiendo a:  [email protected]
Para darte de alta, de baja  o hacer ajustes a tu suscripción visita:
http://voip2.voip.net.pe/mailman/listinfo/linux-plug

IMPORTANTE: Reglas y recomendaciones
http://www.linux.org.pe/listas/reglas.php
http://www.linux.org.pe/listas/comportamiento.php
http://www.linux.org.pe/listas/recomendaciones.php

Responder a