Q&A

コールバックURLの必要性について

現状コールバックURLを設定していませんが、LIFFアプリは問題なく動いている状況なので、ますますコールバックURLを必要性がわからなくなったので質問します。

私の開発した内容は以下のようなフローです。

①.Messaging API内にあるアイコンをタップするとLINEログインの画面へ遷移 当然アクションはリンクになっています。→ ex.) https://liff.line.me/12345678-hoge6hoge6

②.①にアクセス後、エンドポイントURL https://hogehoge.com/login.php に遷移、getIDToken()でトークンを取得後サービスを提供するページ③へ遷移

③.②でGET送信されたトークンを利用し、cURLで処理、アクセスしたユーザーのUUIDを取得する。

②のソースコード 

htmlは端折ります...

<script type="text/javascript"> liff.init({ liffId: '12345678-hoge...', }).then(() => { //トークン取得、定数に格納 let idToken = liff.getIDToken(); //長い長いトークンをGET送信でサービスページへ location.href = './service_page.php?id=' + idToken;   }); </script>

③のソースコード

<?php $ch = curl_init(); $url = 'https://api.line.me/oauth2/v2.1/verify'; $idToken = ; $data = [ 'id_token' => $_GET['id'] 'client_id' => 12345678-asdfasdf ]; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); $response = curl_exec($ch); curl_close($ch); $array = json_decode( $response, true ) ; $user_id = $array['sub']; //UUID //以降取得したUUIDを使ってmysqlなどであれこれする... ?>

###疑問に思うこと

リファレンスについてはコールバックURLを設定することでウェブアプリが認可コードとstateを受け取ることができると言われています。 https://developers.line.biz/ja/docs/line-login/integrate-line-login-v2/#setting-callback-url

しかし②のソースコード上トークンも取れたし、③のページで問題なく動いているわけですが、コールバックURL結局使わなかったよー!という仕上がりになってしまいました。

コールバックURLをすっ飛ばすと何か危険な目にさらされてしまいますか?

  • 0
  • 1
  • 2292
  • twitter facebook

LIFFアプリでは特に気にする必要がないと思います(自分も特に設定した覚えがないです…

  • 0
本当によろしいですか? question.vm