📑

LINEログインで確実にLINEアプリを経由させる方法

2023/10/04に公開

解決したい問題

LINEログイン実装後iphoneで触っていると、以下の問題が発生しました

  • chromeで開くとLINEアプリを経由して自動ログインせず、ログインIDとパスワードの入力を求められる
    • lineアプリが入っている場合はlineアプリ経由でログイン情報入力なしでログインさせて離脱ポイントを減らしたい
    • ログイン画面の下にlineアプリでログインリンクがあるけど、気づきにくいし一手間かかってしまう
  • gmailにサービスのURLを飛ばして、gmailからURLを開くとログインできない
    • メールブラウザでlineログイン→safari(デフォルトブラウザ)にリダイレクトという挙動になる
    • sessionでstateがlineログインしたブラウザに発行されてるので、lineからsafariに戻されるとstateがないのでログインできない

解決方法

LIFFアプリにすることで解決しました
LIFFアプリ登録すると以下のようなURLが発行されます
https://liff.line.me/{liffId}

こちらのURLを開くとディープリンクになっておりLINEブラウザで指定したURLを開いてくれるので、自動でLINEログインしてくれます。

また以下のようにliffアプリに開きたいURLを指定すると、liff.stateに入れてリダイレクトします。
これを使って、ランディング先でliff.stateを見てリダイレクトさせることで、開きたいURLを指定することも可能です。

// LIFEアプリに /hello/world を渡して開く
https://liff.line.me/{liffId}/hello/world

// lifeアプリ登録時に指定したランディング先に、liff.stateに指定したURLを入れてリダイレクトしてくれる
http://hoge.com?liff.state=%2Fhello%2Fworld

仕様の詳細はこちらから確認できます
https://developers.line.biz/ja/docs/liff/opening-liff-app/#create-a-primary-redirect-url

Discussion