LIFFでLINEログインが繰り返されるとき|初期化・ブラウザー・戻り先を確認
この記事の結論
LIFFのログイン後にまた認証へ戻る場合の確認順を解説。初期化を待つこと、LIFFブラウザーと外部ブラウザーの違い、ログイン状態、redirectUriとエンドポイントURLを整理します。
最終更新:2026年10月9日
LIFFで認証を終えたのに、すぐLINEログインへ戻る場合は、初期化が終わる前にログインや画面遷移を始めていないかを確認します。「もう一度ログインしてください」を繰り返す前に、動作しているブラウザーと戻り先を整理してください。
同じURLでも、LIFFブラウザー、LINE内ブラウザー、Safariなどの外部ブラウザーではログインの扱いが違います。ここでは認証が繰り返される問題を対象にし、店舗名などのURLパラメータの取り扱いはLIFF URLと初期化の確認に分けています。
LIFFブラウザーで、さらにログインを始めない
公式のLIFF開発手順では、LIFFブラウザーはliff.init()の実行時に自動でログイン処理が行われ、liff.login()は利用できないと説明されています。
一方、外部ブラウザーやLINE内ブラウザーでは、必要な場合にliff.login()を使います。開発時にパソコンのブラウザーだけで動作を見ていると、その処理をLINEから開いたときにも無条件で実行してしまうことがあります。
調査では、OSの名前だけで「LINEの中だからLIFFブラウザーだ」と推測しません。公式の環境取得メソッドでliff.isInClient()などの結果を見て、実際にどう開いたかを合わせて記録します。

図:通常の認証処理の考え方です。利用者が認可を取り消した場合や、初期化に失敗した場合を成功扱いにしません。
初期化の完了と、ログイン状態を別に見る
liff.init()はPromiseを返します。初期化が終わるのを待ち、ログイン状態を確認してから必要な処理へ進みます。「画面を読み込んだ」というだけでは、LIFFの準備が終わったとは限りません。
外部ブラウザーでログインを行う場合は、ログインから戻ったページで改めて初期化します。そのあとログイン済みなら、同じログイン処理を無条件に呼び続けない設計にします。自社の会員ログイン状態と、LINEログイン状態も別に確認してください。
公式にはwithLoginOnExternalBrowser: trueにより、外部ブラウザーで初期化時にログインを自動実行する設定もあります。手動の呼び出しを足す前に、すでにどちらの方法を使っているかを確認します。設定があるだけで全てのループを解消できるとは考えないでください。
エンドポイントと戻り先の関係を照合する
LIFF APIリファレンスでは、redirectUriは設定されたエンドポイントURLから始まるURLである必要があり、外れた戻り先ではログインに失敗すると説明されています。初期化を行うURLにも、エンドポイントと一致するか、その下の階層であるという条件があります。
たとえば、エンドポイントをhttps://example.com/member/にした構成では、ログイン後にサイトのトップへ戻していないかを確認します。これは説明用のURLであり、実サービスの設定ではありません。URL全体をむやみに短くするより、公開するページの構成に合わせて設計担当が関係を確認します。
| 調べる箇所 | 確認する内容 |
|---|---|
| LIFFアプリの設定 | 対象のLIFF IDとエンドポイントURL |
| 初期化するページ | 設定の範囲にあるか、完了を待っているか |
| ログインの呼び出し | 初期化後の状態を条件にしているか |
| 認証後の戻り先 | redirectUriとエンドポイントが対応するか |
認証用のURLには秘密の情報が含まれることがあります。調査で遷移を記録するときも、トークン付きのURLをアクセス解析や共有資料へそのまま送らないでください。公式の開発手順には、初期化前のURLを外部のログへ送らない注意もあります。
キャンセルを、無限のやり直しにしない
利用者が認可を取り消した場合や初期化に失敗した場合は、通常のログイン完了とは別の状態です。自動で何度も認証へ戻すのではなく、何ができていないかと、次に選べる操作を短く表示します。
検証では、LINEから開く場合、外部ブラウザーから開く場合、すでにログイン済みの場合、認可を取り消す場合を分けます。再読み込みやページ遷移のあとも確認し、会員情報が未確認のまま表示されないことを確かめます。
お客様に同じ手続きを繰り返させないために、担当者は認証と会員の対応関係を一つの記録で追えるようにします。ログインに成功しただけで会員連携が完了したとは扱わず、本人確認が必要なところは残します。
※仕様の確認日:2026年10月8日。認証の条件は公式資料に基づき、診断表と検証条件は設計上の提案です。