ツイッターログインエラー時に[Socialite Received HTTP status code [403] with message ]が出た場合の対処方法
以前開発したサービスを修正しようとlocalhostを起動して、Twitterログインを設置していたボタンを押したところ、下記メッセージが出てしまいました。その時の対象方法を纏めています。
エラーメッセージ内容
Received HTTP status code [403] with message "<?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>" when getting temporary credentials.
Google翻訳内容
このクライアントアプリケーションに対してコールバックURLが承認されていません。一時的な認証情報を取得するときに、アプリケーション設定でコールバックURLを調整できます。
何を言ってるかわからず、エラーメッセージをそのままググってみると、Twitter側の仕様変更に伴う記事が出てきました。
TwitterのAPIでcallbackURLをチェックするようになった。
もし実装した日が、この記事より以前であれば、一度Twitterのdeveloperツールからcallbuckのurlを確認して見ましょう。
そうでなければdevoleper側ではなく、src/.envファイル内の記述を疑う方が正しいです。
エラーメッセージにも、
アプリケーション設定でコールバックURLを調整できます。
と書かれているので、.envファイルが原因でした。localhost上で実装したかったので、CALLBACK_URL を以下の記述にすると問題なくtwitterログインができました。
TWITTER_CLIENT_ID = otwwJXL3cENF1kOQ9egnZFv9A
TWITTER_CLIENT_SECRET = FL2mkaz5y49pE7JYw4UYaPthBmluT7xq3ZEEsVyn05rHvmEqTm
CALLBACK_URL = http://localhost/login/twitter/callback
同じ現状でお困りの方へ
.envファイルで問題ないですが、念のため、メッセージを細かく調べる癖をつけるとよいです。僕は、これをやらなかったので、ちょっと仕様変更だと思い込み時間がかかってしまいました。