コールバック時にエラー「400 Bad Request」が発生する
ソーシャルログインの完了間際、ログインプロバイダ側での同意が完了したあとに「400 Bad Request」が発生する場合は、以下のようなケースが考えられます。
いずれの場合も、ソーシャルPLUS のソーシャルログイン時のセッションが維持されておらず、不正なリクエストであると判断されるために発生します(下記図の①〜③の間のセッション)。
PC 環境
PC 環境ではほぼ発生しません。
スマートフォン環境
いずれの場合もソーシャルログイン時のセッションが継続できないために発生します。
- ブラウザのシークレットモードでアクセスしている
- ソーシャルログイン開始時と、ソーシャルログイン完了時(ログインプロバイダ側の画面から次の画面へ遷移する際)にアクセスするブラウザ・アプリが異なる
- アクセスしているブラウザ・アプリで Cookie の利用を禁止している
- 通信環境が極端に悪い
備考
スマートフォン環境では、とくに「LINE 自動ログイン」(アプリでログイン)を利用した場合に発生しやすい状況となっています。
「LINE 自動ログイン」では LINE 側の仕様により、LINE アプリで認証・認可が行われた結果は必ずスマートフォンの標準ブラウザ(iOS であれば Safari 固定)へ遷移します。
そのため、標準ブラウザ以外から「LINE 自動ログイン」を行った場合、標準ブラウザに遷移した際にソーシャルログイン開始時のセッション情報が取得できず、不正なリクエストとなります。
備考
ソーシャルログイン開始時と、ソーシャルログイン完了時にアクセスするブラウザ・アプリが異なる問題は、以下のような環境からソーシャルログインを開始して、ログイン完了までに別のブラウザ・アプリへ遷移することがある場合に発生します。
- Gmail などのメールアプリの内部ブラウザからログインを開始した
- QR コード読み取りアプリの内部ブラウザからログインを開始した
- その他アプリの内部ブラウザからログインを開始した
これらのアプリから URL を開く際には、一度標準ブラウザからページを開き直し、そこからソーシャルログインを開始するようにご案内ください。
注記
この事象は 3rd Pary Cookie(サードパーティ Cookie)の規制によ るものではありません。