En primer lugar vamos a establecer algunos términos:
El User-supplied identifier
es la cadena que el usuario realmente en tipos (o se activa pulsando un botón predefinido en el RP) que desencadena el descubrimiento OpenID tenga lugar. No está normalizado y nunca debe usarse para representar al usuario en su base de datos porque no es seguro o único, pero es un punto de partida necesario. El descubrimiento en este identificador da un claimed identifier
o un OP Identifier
. Ejemplos: yahoo.com, myopenid.com, andrewarnott.myopenid.com
El Claimed Identifier
es el identificador de OpenID que el usuario "controla" o usa como su identidad. Puede o puede no ser una URL (puede ser un XRI). Una afirmación positiva de un OP siempre será un identificador reclamado (incluso si el descubrimiento comenzó con un identificador OP). Ejemplos: https://andrewarnott.myopenid.com/
El OP Identifier
, o "Identificador de proveedor de OpenID" es el OpenID Identifer que RPs pueden realizar el descubrimiento de comenzar un flujo identifier select
donde el RP todavía no sabe cuál será reclamada Identificador del usuario. Ejemplos: https://me.yahoo.com/, http://www.myopenid.com/ y https://www.google.com/accounts/o8/id
El OP Endpoint
es la URL real que el RP redirige al usuario con el fin de autenticar al usuario, y se usa para establecer asociaciones compartidas o llevar a cabo la verificación directa de una aserción que utiliza un OP privada asociación. Ejemplos: http://localhost/server.aspx, http://localhost/provider.ashx, https://www.google.com/accounts/o8/ud (nótese el ud terminando en lugar de id)
Así que con todo este contexto, el OpenIdRelyingParty.CreateRequest
llamada debe recibir un identificador proporcionado por el usuario, que puede ser también un identificador reclamado o un identificador de OP. Debe no ser el punto final OP. Así, por ejemplo, que se puede desmayar en:
openIdRelyingParty.CreateRequest("http://localhost/sampleop/")
o
openIdRelyingParty.CreateRequest("http://localhost/user.aspx?username=bob")
Andrew, muchas gracias por todas estas explicaciones +1. Realmente me ayudó a aclarar estos conceptos. Logré hacer que las 2 demos de DotNetOpenAuth se conectaran entre sí (OP y RP) pero no pude crear mi propio OP y conectarme a él.Siga recibiendo los "puntos finales no OpenId encontrados", lo que no es un error muy explicativo. Su proyecto (DotNetOpenAuth) parece ser impresionante, pero le falta documentación. De hecho, creo que Openid carece de documentación. No pude encontrar estos conceptos apuntados en otro lugar. Gracias de todos modos :) –
@ André Pena, he intentado durante días hacer que mi OP funcione. pero es el mismo problema que estás teniendo. ¿Alguna vez has resuelto esto? –