2011-09-28 30 views
7

Estoy tratando de comprender el concepto y los beneficios de implementar OpenID en su proyecto. Y, dado que soy desarrollador de Java, estoy más o menos interesado en comprender su principal implementación de Java, openid4java.OpenID Architecture para Java

Mi comprensión es que OpenID es un estándar para el aprovisionamiento de identificaciones descentralizadas de manera uniforme. Ahora, si eso es totalmente (o incluso ligeramente) incorrecto, por favor corrígeme!

Suponiendo que sigo por buen camino, veo que todo tipo u organización ha estado usando OpenID, como MySpace, que identifica a cada uno de sus usuarios con una URL que coincide con http://www.myspace.com/username.

Entonces, ¿cómo funciona OpenID como sistema? ¿Se manifiesta solo como una red de "Servidores OpenID" que, como las máquinas DNS, coordinan y se aseguran de que todos los ID en su sistema sean únicos y coincidan con un patrón determinado? O bien, ¿se trata simplemente de un algoritmo que, como GUID, produce identificadores exclusivos para cada dominio de cliente (como MySpace)?

Simplemente no entiendo cómo se manifiesta realmente OpenID, y cómo los marcos como openid4java se combinan con esa "manifestación". (Cuáles son sus usos).

Respuesta

3

En primer lugar, hay dos lados de la comunicación OpenID: el proveedor y el consumidor. El consumidor es la aplicación que intenta autenticarse utilizando OpenID, y el proveedor es el servidor al que se envía la solicitud de autenticación.

Cada proveedor tiene una llamada URL de punto final que acepta solicitudes de autenticación. Debe conocer esa URL con anticipación cuando respalde un proveedor de OpenID. Primero debe descubrir cuál es el punto final de un openId dado, y luego intercambiar mensajes con ese proveedor. Esto está todo incluido en openid4java ConsumerManager.

Luego ocurre la autenticación: usted redirige al usuario a la url de un proveedor, donde el usuario confirma que quiere iniciar sesión usando su cuenta (debe haber iniciado sesión), luego el proveedor le redirecciona, y luego puede obtener la información solicitada sobre el usuario (a través de otra solicitud)

+0

Gracias @Bozho! Entonces, ¿cómo funcionaría algo como openid4java con un marco de SSO como OpenSSO? ¿Cuál es la "división del trabajo" allí? – IAmYourFaja

+0

para ser honesto - No sé :) – Bozho

+0

Encontré [este] (http://www.alleged.org.uk/pdc/2007/08/13.html) artículo, que probablemente tendría sentido para los desarrolladores que ya han tenido experiencia con SSO y/o OpenID. Para mí, no tiene mucho sentido, pero lo guardaré para otro esfuerzo de investigación ;-) ~ gracias de nuevo por su respuesta – IAmYourFaja