2010-12-30 19 views
11

Estoy buscando un módulo PAM que pueda usar OpenID para realizar la autenticación. Mi idea es que quiero iniciar sesión en mi cuadro Linux utilizando mi cuenta y contraseña de gmail. Descubrí que hay un open source project en Google Code que parece estar haciendo las cosas que quiero, pero no veo ningún código disponible para descargar.Módulo OpenID PAM

Vi que hay tantos ejemplos o implementaciones, pero se trata de aplicaciones web. ¿Hay alguna aplicación OpenID no basada en la web en el mundo? ¿Es técnicamente posible hacer una aplicación OpenID no basada en la web? Yo ingenuamente pienso que debería ser posible. Puedo emular cualquier paquete que el navegador envíe al proveedor de OpenID y recuperar el resultado. Mientras mi caja Linux esté conectada a Internet, debería poder usar mi OpenID para iniciar sesión.

Aprecie cualquier comentario, sugerencia o sugerencia sobre cómo hacer un módulo OpenID PAM.

Gracias!

+2

¿Cómo haría el proveedor de OpenID para que el usuario confirme la solicitud? –

+0

@Ignacio ¿Estoy completamente mal entendiendo algún concepto fundamental? Ya tengo una cuenta de gamil [email protected] Gmail es mi proveedor OpenID. Puedo configurar mi módulo OpenID PAM para usar gmail.com como el proveedor OpenID. Luego, puedo iniciar sesión en mi caja de Linux escribiendo "[email protected]" como nombre de usuario y luego escribir la contraseña de mi cuenta de gmail. El módulo PAM se pondrá en contacto con gmail.com y, por supuesto, gmail.com puede confirmar mi solicitud porque conoce mi cuenta [email protected] y conoce mi contraseña. Gmail.com confirma si las credenciales son válidas. –

+0

Es imposible realizar una autenticación segura, no web abierta por una simple razón: OpenID depende del hecho de que usted sabe que está conectado al proveedor. En todos los demás casos, una parte dependiente (por ejemplo, el módulo pam) podría interceptar su nombre de usuario y contraseña, y usted no quiere eso. Como no se puede confiar en que las aplicaciones que no son web no intercepten el tráfico o las pulsaciones de teclas, no se puede implementar openid fuera de la web. En cuanto a un módulo de pam, hay otro problema: la autenticación con un proveedor requiere la interacción del usuario. Gmail no lo conoce a menos que le proporcione su contraseña. – Mewp

Respuesta

6

puedo misundertood la petición, pero Google (por exemple) proporcionan una manera de permitir el lado del cliente y la aplicación instalada para autenticar el API de Google utilizando throught OpenAUTH estándares 2.0.

Como puedes ver en Using OAuth 2.0 for Installed Applications o incluso más en Using OAuth 2.0 for Devices.

Sí, todavía es necesario utilizar la interacción del navegador, etc., pero tanto python como ASP.NET pueden gestionar la solicitud web y la parte de Linux, Gnome también a través de las herramientas WebKitGTK +.

Puede ser una ventaja para su investigación.

Ah, y por cierto, sobre WebServices y OpenID etc., el módulo pam podría escribirse en Python (para la parte WebServer) e integrarse fácilmente a Gnome 3.2 (También Python para modificar la API de Gnome-Keyring) Y en ASP .NET para el lado de Windows.

Pero una vez más, no soy un especialista en esta cuestión, simplemente muy interesado por. ;-)

+1

Solo una pequeña edición para señalar esta buena noticia: Google acaba de publicar una forma de autorizar servicios para comunicarse con API sin interacción del usuario - [aquí] (http: // googledevelopers .blogspot.fr/2012/03/service-accounts-have-arrived.html) –

1

No es cuestión de que el proveedor confíe en la parte confiable.

El problema es que el usuario tiene que confiar en él.

Hay, sin embargo, otras tres cuestiones:

  1. Haga lo que haga, no se puede garantizar su usuario de que su módulo PAM no roba su contraseña.
  2. Dado que no existe un mecanismo de autenticación unificado entre proveedores, aún deberá mostrar una ventana interactiva del navegador. Sin embargo, no creo que los módulos de pam puedan ser interactivos.
  3. El módulo debería ser un servidor http para poder recibir respuestas.
+0

Según su experiencia, ¿con qué frecuencia el proveedor de OpenID (por ejemplo, Google o Yahoo) cambia su interfaz de autenticación? En un futuro cercano, ¿el proveedor de OpenID presentará algún mecanismo de autenticación estandarizado? –

+0

En mi opinión, no se trata de la interfaz de autenticación de un único proveedor: se trata de que no se pueda implementar la interfaz para cada proveedor que exista. Hasta donde yo sé, no hay planes para incluir un mecanismo de autenticación estándar para los proveedores en el estándar OpenID. Sin embargo, no soy la persona adecuada para preguntar. Es probable que obtenga una mejor respuesta preguntando en la lista de correo de OpenID o en otro lugar directamente relacionado con la Fundación OpenID. – Mewp

+0

+1 Gracias por toda su información :) –

-3

Encontré este. JumpCloud

Parece que podría hacer el truco, si usa LDAP.

Ok, la idea de JumpCloud es que proporcionan la conexión LDAP-a-Google OAUTH, por lo que si configuró su sistema para autenticarse mediante LDAP, pero lo configuró para comprobar el LDAP de JumpCloud, y no su sistema local, entonces usted debería poder iniciar sesión usando una cuenta de dominio de Google.

+0

La pregunta no es genial, pero no veo cómo ese servicio ayuda a tener un módulo PAM en Linux. – rene

+0

Aunque es una buena idea agregar un enlace a su respuesta, siempre debe tratar de agregar una descripción más detallada a su respuesta en caso de que el enlace ya no esté en uso en una etapa posterior, en cuyo caso la respuesta sería inútil. –

+0

Ok, la idea de JumpCloud es que proporcionan la conexión LDAP-a-Google OAUTH, por lo que si configuras tu sistema para autenticarse a través de LDAP, pero lo configuras para verificar el LDAP de JumpCloud, y no tu sistema local, entonces deberías poder para iniciar sesión usando una cuenta de dominio de Google. –