LINE関連

Line ログイン

前提知識

参考

認可URLに付与できるクエリパラメータ

パラメータタイプ必須説明
response_typeString必須
client_idString必須
redirect_uriString必須
stateString必須
scopeString必須
nonceString任意
promptString任意
max_ageNumber任意
ui_localesString任意
bot_promptString任意
initial_amr_displayString任意
switch_amrBoolean任意
disable_auto_loginBoolean任意
disable_ios_auto_loginBoolean任意
code_challengeString任意
code_challenge_methodString任意

緑文字

緑文字:Laravel Socialite側で自動的にクエリパラメータが設定される(開発者がオーバライドすることも可能)

Laravel Socialite側でクエリパラメータがどのくらい自動生成されるのかをdd()メソッドで確認してみると、、、「client_id」「redirect_url」「scope」「response_type」「state」は定義済みになっている

■認可URL生成箇所

    public function redirectToProvider(Request $request)
    {
        $provider = $request->provider;

        dd(Socialite::driver($provider));

        return Socialite::driver($provider)
            ->redirect();
    }

■dd()メソッドの出力結果

SocialiteProviders\Line\Provider {#489 ▼ // app/Http/Controllers/Auth/LoginController.php:24
  #request: Illuminate\Http\Request {#44 ▶}
  #httpClient: null
  #clientId: "[.envにて設定されたLINEログインチャンネルのチャンネルID]"
  #clientSecret: "[.envにて設定されたLINEログインチャンネルのチャンネルシークレット]"
  #redirectUrl: "[.envにて設定されたコールバックURL]"
  #parameters: []
  #scopes: array:3 [▼
    0 => "openid"
    1 => "profile"
    2 => "email"
  ]
  #scopeSeparator: " "
  #encodingType: 1
  #stateless: false
  #usesPKCE: false
  #guzzle: []
  #user: null
  #credentialsResponseBody: null
  #config: array:4 [▼
    "client_id" => "[.envにて設定されたLINEログインチャンネルのチャンネルID]"
    "client_secret" => "[.envにて設定されたLINEログインチャンネルのチャンネルシークレット]"
    "redirect" => "[.envにて設定されたコールバックURL]"
    "guzzle" => []
  ]

赤文字

赤文字:開発者がクエリパラメータに設定(追加)する

考慮事項

  • stateの検証
    自生成したstateをcookieに保存しておいてコールバック時に検証する。
  • pkce対応

その他

自動友達追加

LINEログイン時の認可画面に表示される友だち追加のチェックはデフォルトでオフになっている
友だち追加のチェックをデフォルトでオンにすることもできるが、オンにする方法は、公式ドキュメントや記事にも記載されていないぽっい。法人専用の機能??

https://www.line-community.me/ja/question/5d6dc402401690d976e940f2
https://socialplus.jp/line/add_friend
https://www.sns-loghy.jp/column/184/

デフォルトだと友達追加は未チェック

コメント

タイトルとURLをコピーしました