Twitter が OAuth 認証時 Callback URL をチェックするようになったみたい

今朝(6月13日)、ASP.NET MVC 製の自作 Web アプリで Twitter アカウントでログインしようとするとエラーが出るようになりました。

結論から。原因は、oauth/request_token 要求時、パラメーター oauth_callback の値と Twitter Apps で設定している「Callback URLs」の値が一致しない場合は、HTTP 応答は 403 (Forbidden) となり、次のメッセージが返ってくるようになったみたいです。

<?xml version="1.0" encoding="UTF-8"?>
<errors>
<error code="415">Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings</error>
</errors>

ASP.NET MVC の Twitter 認証で、Microsoft.Owin.Security.Twitter を利用している場合、oauth_callback の値はデフォルトでは「https://example.jp/signin-twitter」のように「/signin-twitter」を付けた値となります。Twitter Apps のページでそのように設定しておく必要があります。もしくは、ASP.NET 側で TwitterAuthenticationOptions.CallbackPath の値の方を変更します。

約1ヶ月前にはアナウンスされていました。