「個人アカウント」認証を使用して新しいWebプロジェクトを開始するときに作成されるデフォルトのプロジェクトに基づいて、Owinミドルウェアを使用してOAuth認証を設定しました。
少し調整しましたが、FacebookとGoogleはうまく機能していますが、[Twitter]ボタンをクリックしてチャレンジを発行すると、500httpの例外がスローされてエラーメッセージが表示されます。
応答ステータスコードは成功を示しません:401(無許可)。
これはTwitterでしか思いつかない。これが私の認証設定です:
// 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();
これは間違いなく500エラーであり、401エラーではなく、Twitterへの元の投稿チャレンジに合格しないことを確認しました。スタックトレースは、TwitterがGettainRequestToken呼び出しから成功コードを返さないことを示しているようです。
何か案は?
Twitter Dev Appにアクセスして、Webサイトアドレスを追加する必要があります。私はそれがばかげているように見えることを知っていますが、これはあなたの問題を解決します。
これで問題が解決するはずです。
パトリックが1年前に説明した方法で問題を解決しました。今日も同じ問題が発生しましたが、今回はコンピューターの日付/時刻設定が原因で問題が発生していることがわかりました。このコンピューターの日付/時刻は通常同期していないため、[日付と時刻の設定の変更]-> [インターネット時刻]タブに移動して、インターネット同期を有効にする必要がありました。