2018年5月30日水曜日

ASP.NET Identity Twitter認証で「応答の状態コードは成功を示していません」エラー

訂正


2018/08/01 時点 Twitter Application Managementの設定が変更(APIの仕様変更)になったため、 2018/5/30に書いた当ページの方法では動作しなくなりました。


※Enable Callback Lockingの設定がなくなりました。

対処方法

 Twitter Application Managementの設定 「Callback URLs」に「http://localhost:xxxxx/signin-twitter」を設定。
※xxxxxは動作環境のポート番号

もともとの設定でCallback URLsに設定してた値のミスが原因でした。
Enable Callback Lockingの設定関係なく、正しくCallback URLs指定してれば発生しない問題です。orz



概要

ASP.Net Identityの基本認証を使用しTwitterアカウントでの認証を実装しようとしたところ、「応答の状態コードは成功を示していません: 403 (Forbidden)。」が発生し、軽くはまってしまったので、対象方法メモ。




前提条件

環境

  • Visual Studio 2015
  • .Net Framework 4.6.1 
  • ASP.NET MVC 5

状況

  1. 新規にWEBプロジェクトを作成(ASP.NET MVC指定。認証は個別のユーザーを指定)
  2. Twitter Application Management の設定を行う。
  3. ASP.Net Identity でTwitterの認証を有効にする。※
  4. WEBサイト起動し、ログイン→Twitterをクリックする。
  5. エラーが発生

※手順1~3の詳細は割愛。
※「検証プロシージャによると、リモート証明書は無効です」エラーが発生する場合は下記サイトの対応を実施
https://stackoverflow.com/questions/25011890/owin-twitter-login-the-remote-certificate-is-invalid-according-to-the-validati

対応方法


Twitter Application Management の設定で
Settings -> [Enable Callback Locking]のチェックを外す。


  • ※2018/05/30 デフォルトはチェックありでした。

その他

チェック外していいのか、って所がよくわかってません。
どんなパターンで問題になるんだろ。。