Asp.Net MVC 5 Owin Twitter Auth Throwing 401 Exception

J’ai configuré l’authentification OAuth à l’aide du middleware Owin basé sur le projet par défaut créé lors du démarrage d’un nouveau projet Web à l’aide de l’authentification “Comptes individuels”.

Je l’ai un peu modifié, mais Facebook et Google fonctionnent très bien, cependant, lorsque je clique sur le bouton “twitter” pour lancer le défi, il lance une exception de 500 http avec le message d’erreur:

Le code d’état de la réponse n’indique pas le succès: 401 (non autorisé).

Cela ne vient qu’avec Twitter. Voici ma configuration d’authentification:

// Just a configuration section that reads from the web.config var configuration = new OwinCookieConfigurationSection("owinCookieConfiguration"); app.UseCookieAuthentication(GetCookieAuthenticationOptions(configuration)); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); app.UseTwitterAuthentication( consumerKey: "XXX", consumerSecret: "XXX" ); app.UseFacebookAuthentication( appId: "XXX", appSecret: "XXX" ); app.UseGoogleAuthentication(); 

C’est certainement une erreur 500, pas une erreur 401, comme il l’indique et j’ai confirmé qu’elle ne faisait jamais passer le message de publication d’origine sur Twitter. La trace de la stack apparaît pour montrer que Twitter ne renvoie pas un code de succès à partir de l’appel ObtainRequestToken:

Trace de la pile

Des idées?

    Vous devez aller dans l’application Twitter Dev et append une adresse de site Web. Je sais que cela semble idiot mais cela résoudra votre problème.

    1. https://apps.twitter.com/
    2. Aller à l’onglet Paramètres
    3. Définissez une URL de rappel sur un site Web. Même si ce n’est pas réel.

    Cela devrait résoudre votre problème.

    J’ai résolu mon problème comme l’a décrit Pasortingck il y a un an. Aujourd’hui, j’ai de nouveau rencontré le même problème, mais cette fois-ci, j’ai constaté que le problème était dû au paramètre date / heure de mon ordinateur. Étant donné que la date et l’heure sur cet ordinateur sont généralement désynchronisées, je devais aller dans “Modifier les parameters de date et heure” -> “Heure Internet” et activer la synchronisation Internet.