2012-06-10 5 views
6

J'ai un problème étrange avec une application MVC 3 exécutée en tant que site Web Azure. J'ai eu des problèmes avec Azure dans le passé, mais le nouveau concept de site fonctionne presque parfaitement, sauf ceci:"Aucun noeud final OpenID trouvé" sur le site Web Azure

DotNetOpenAuth.Messaging.ProtocolException: No OpenID endpoint found. 

Cela se produit uniquement avec Google, uniquement sur Azure. Exécuter localement fonctionne bien, fonctionne sur AppHarbor cela fonctionne bien, mais sur Azure chaque tentative d'utiliser Google pour la connexion OpenID se traduira par une erreur de serveur en raison de cette exception (suivi en utilisant Airbrake).

Voyez par vous-même, essayez de vous connecter avec Google sur my website et si vous obtenez immédiatement une page d'erreur du serveur, cela signifie DNOA vomit. Toutes les autres méthodes de connexion fonctionnent bien, y compris Yahoo et AOL qui sont également OpenID.

PS: Ne pas essayer trop de fois que, aérofreins se fera un plaisir de spam mon adresse email: <

+0

Voulez-vous s'il vous plaît essayer d'ajouter la journalisation OAuth à votre application comme décrit ici pour obtenir plus d'informations pourquoi il échoue sur Windows Azure http://www.dotnetopenauth.net/developers/help/loggingdebugging-dotnetopenauth-with-log4net/ – AvkashChauhan

+0

@AvkashChauhan J'ai essayé d'utiliser Glimpse mais l'onglet DNOA est inactif, ce qui suggère que rien n'est enregistré. – CMircea

+0

essayez l'option # 2 à ce lien –

Répondre

3

Essayez d'ajouter ce code à votre site Web avant appeler OpenIdRelyingParty.CreateRequest:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; 

Dans certaines configurations Azure, cela a été montré pour résoudre le problème. S'il vous plaît laissez-nous savoir si cela résout votre problème aussi bien.

+0

Merci! Cela a fonctionné parfaitement pour moi. Avez-vous une explication plus détaillée sur les raisons pour lesquelles cela est nécessaire? –

+2

Il semble que les utilisateurs du nouveau service d'hébergement d'aperçu Azure exécutent leurs sites dans un nouvel environnement/sandbox dans lequel les paramètres SSL par défaut ne sont pas standard. Lors de l'envoi d'une requête HTTP à Google, SSL v3 est (apparemment) utilisé et la configuration par défaut, quelle qu'elle soit, ne peut pas s'y adapter sans un petit coup de pouce. Les gens d'Azure travaillent sur le problème afin qu'il fonctionne par défaut à l'avenir. –

+0

Cette réponse a résolu le problème d'accès aux API Google. Cependant, j'ai toujours le même problème avec l'accès aux services Web Exchange même avec cette solution de contournement implémentée. – tig

-1

J'ai eu cette fonction dans global.asax:

AreaRegistration.RegisterAllAreas(); 

Après avoir retiré cette ligne, tout fonctionne parfaitement.

J'ai ajouté des zones dans mon application, cette fonction a été ajoutée automatiquement par VS2012.

Questions connexes