Pregunta

Estoy desarrollando un consumidor de OpenID en PHP y estoy usando la biblioteca LightOpenID fantástico ( http://gitorious.org/lightopenid ). Basando mi código fuera de la encontrada en el script de ejemplo de cliente que he creado con éxito un consumidor. Sin embargo, me he encontrado a través de un inconveniente: Google requiere que el openid.identity y openid.claimed_id se establezca en "http://specs.openid.net/auth/2.0/identifier_select" (ver aquí ). Si hago eso funciona, pero otros proveedores (es decir, AOL) no lo hacen.

Aquí están mis preguntas:

  1. Es Google un caso esquina - ¿es el único proveedor de OpenID donde se requiere identifier_select, contrariamente a las especificaciones de OpenID
  2. ¿Hay un defecto en la biblioteca LightOpenID?
  3. ¿Es mi entendimiento de cómo funciona OpenID incorrecto?
  4. Si Google no es el único proveedor que requiere identifier_select hay un número finito de ellos, que sólo voy a codificar en, o hay alguna manera de determinar esto a través de la especificación OpenID?

Soy nuevo a la parte interna de OpenID por lo que no se sorprendería si esto es una pregunta tonta. No he podido encontrar ninguna información sobre este tema después recorriendo la Internet.

¿Fue útil?

Solución

Google no está contradiciendo la especificación. La especificación OpenID 2.0 permite absolutamente identifier_select fluye, que permiten a algo que se llama "identidad dirigida", que Google es la única OP notable (que yo sepa) que ejerce de hecho la capacidad de hacer.

Y sí, una biblioteca RP OpenID implementado completa y correctamente automáticamente aviso de que Google (y cualquier otra OP como él) requiere identifier_select ya que es parte de la etapa de descubrimiento identificador que recoge en esto. Lo de la biblioteca que está utilizando, pero suena como que está causando pena quizá debido a ser una aplicación incompleta de OpenID.

Y, por cierto, AOL hace apoyo identifier_select.

Otros consejos

El autor LightOpenID aquí.

  1. La especificación permite, por lo que probablemente no es el único (otras respuestas mencionan Yahoo)
  2. No, no es - LightOpenID apoya esto. (Ver ejemplo-google.php en la biblioteca).
  3. Usted todavía necesita saber una URL descubrimiento, por lo que necesita saber el proveedor. O indicar a los usuarios a entrar https://www.google.com/accounts/o8/id como su identidad.

Tenga en cuenta que esta respuesta es acerca de la versión más reciente de mi biblioteca, que fue empujado después de esta pregunta fue hecha. Para cualquier persona que sigue luchando con este problema, descargue el versión más reciente

Esto se utiliza para autenticar en modo de selección ID OP Driven. Es menos común, pero no es un caso límite. Entre todos los proveedores de OP que uso, me di cuenta de Google y Yahoo requieren.

Esto es necesario para apoyar dirigida identidad en OpenID 2.0. Básicamente, se obtiene una OpenID diferente para el sitio web diferente. Hay un empuje para mover a este modelo por defensores de la privacidad, así que creo que hay que apoyar esto pronto o más tarde.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top