2012-06-10 14 views
6

Tengo un problema extraño con una aplicación MVC 3 que se ejecuta como un sitio web de Azure. He tenido problemas con Azure en el pasado, pero el nuevo concepto de sitio web funciona casi a la perfección, a excepción de lo siguiente:"No se encontró ningún punto final OpenID" en el sitio web de Azure

DotNetOpenAuth.Messaging.ProtocolException: No OpenID endpoint found. 

Esto sólo sucede con Google, sólo en Azure. Ejecutar localmente funciona bien, ejecutar en AppHarbor funciona bien, pero en Azure, cada intento de utilizar Google para el inicio de sesión de OpenID dará como resultado un error del servidor debido a esa excepción (rastreado con Airbrake).

Compruébelo usted mismo, intente iniciar sesión con Google en my website y si obtiene inmediatamente una página de error del servidor significa que DNOA está vomitando. Todos los demás métodos de inicio de sesión funcionan bien, incluidos Yahoo y AOL, que también son OpenID.

PS: No intente demasiadas veces, sin embargo, AirBrake estará feliz de correo no deseado de mi dirección de correo electrónico: <

+0

¿Podría tratar de agregar el registro de OAuth a su aplicación como se describe aquí para obtener más información sobre por qué está fallando en Windows Azure http://www.dotnetopenauth.net/developers/help/loggingdebugging-dotnetopenauth-with-log4net/ – AvkashChauhan

+0

@AvkashChauhan Intenté usar Glimpse pero la pestaña DNOA está inactiva, lo que sugiere que no se está registrando nada. – CMircea

+0

intente la opción n. ° 2 en ese enlace –

Respuesta

3

Trate de añadir este código a su sitio web antes de llamando OpenIdRelyingParty.CreateRequest:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; 

En algunas configuraciones de Azure, se ha demostrado que esto resuelve el problema. Por favor, háganos saber si esto resuelve su problema también.

+0

¡Gracias! Esto funcionó perfectamente para mí. ¿Tiene una explicación más profunda de por qué es necesario? –

+2

Parece que aquellos en el nuevo servicio de alojamiento web de vista previa de Azure están ejecutando sus sitios en un nuevo entorno/entorno limitado, donde las configuraciones SSL predeterminadas no son estándar. Al enviar una solicitud HTTP a Google, se utiliza (aparentemente) SSL v3 y la configuración predeterminada, sea lo que sea, no puede ajustarse a ella sin un poco de ayuda. Los amigos de Azure están trabajando en el problema para que funcione de manera predeterminada en el futuro. –

+0

Esta respuesta solucionó el problema para acceder a las API de Google. Sin embargo, sigo teniendo el mismo problema al acceder a los servicios web de Exchange incluso con esta solución implementada. – tig

-1

que tenían esta función en global.asax:

AreaRegistration.RegisterAllAreas(); 

Después de retirar esta línea, todo funciona perfectamente.

He agregado algunas áreas en mi aplicación, esta función fue agregada automáticamente por VS2012.

Cuestiones relacionadas