【Laravel】LINEログインで詰まったメモ

えび

Laravel8LINE APIを使用した認証を実装した際に詰まったポイントを記録

400エラーが出る場合

正しい認証情報を入力しても下記エラーが出る場合
The authorization server denied the request. This channel is now developing status. User need to have developer role.

チャンネルを「公開」にする

「Developing」をクリックすると「Publish」ボタンがついた確認モーダルが開くので押下

もしくは、開発モードのまま使用したい場合は
Roles」タブを押下してログインに使用したいメールアドレスを登録する

メールアドレスが取得できない場合

  • OpenID Connectに申し込む

Applyを押すとフォームが開くので入力して送信する

入力内容は下記の通り

  • 各チェックボックスにチェックを入れる
  • LINE認証画面のスクショを送る

LINE認証画面には説明文を載せとく必要がある
以下テキスト例

LINEアカウントを利用して会員登録を行います。
ログイン時の認証画面にて許可をいただいた場合のみ、
あなたのLINEアカウントに登録されているメールアドレスを取得します。
取得したメールアドレスは、以下の目的以外では使用しません。
・通知、問い合わせ時の連絡のために利用
また、法令に定められた場合を除き、第三者への提供はいたしません。 

InvalidStateExceptionエラーが出る場合

ここに入っちゃう場合

if ($this->hasInvalidState()) {
  throw new InvalidStateException();
}
  • .env
SESSION_DOMAIN=ドメイン名 # 追加

# (例) SESSION_DOMAIN=domain.com
  • キャッシュクリアしとく
php artisan config:cache