LINE活用

LINEログインの実装手順|チャネル作成・申請・テストとつまずく点

LINEログインを実装するには、LINE Developersでチャネルを作り、コールバックURLの登録・スコープの決定・必要な申請を済ませてから、認可リクエストからIDトークンの検証までの処理をサーバー側に組み込みます。時間がかかりやすいのはコードよりもLINE Developers側の設定と申請で、メールアドレスの取得や友だち追加を後回しにするとテストをやり直すことになります。本記事では、チャネルの作成からテストまでを作業の順に説明し、手順ごとのつまずきやすい点と対処法も紹介します。

LINEログインの実装とは、LINE Developersで「LINEログインチャネル」を作り、自社サイトとLINEをOAuth 2.0とOpenID Connectの手順でつなぐ作業です。

ソーシャルログインの基本はソーシャルログインとはで解説しています。

LINEログイン実装の流れとつまずきやすい点

  1. LINE公式アカウントと会員をつなぐ予定があれば、LINEログインのチャネルはLINE公式アカウントと同じプロバイダーの下に作ってください。
  2. コールバックURLは、末尾のスラッシュやwww.の有無が違うだけで登録値と一致しないと判定されます。
  3. スコープのemailは、openidと一緒に指定しないと受け取れません。
  4. メールアドレス取得の申請には、利用者に示す文面のスクリーンショットが必要です。
  5. 自動友だち追加は、認証プロバイダーのチャネルでしか使えません。
  6. stateとnonceの照合を実装し忘れても普段の操作では気づきにくいため、実装の段階で確かめてください。
プロバイダーを揃えること、コールバックURLを完全に一致させること、emailはopenidと一緒に指定して申請すること、stateとnonceを照合することの4点を示す図。
実装で見落としやすい点

ソーシャルログイン・パスキーの導入をご検討中の方へ

LINE・Google・Apple・Yahoo! JAPAN・Facebook・X のログインとパスキーに、1つの実装で対応できます。対応SNS・料金・導入の流れを資料にまとめています。

申請が要る作業から先に始める

メールアドレスの取得権限と友だち追加の申請は、コードを書く前に着手しておきましょう。

メールアドレス取得権限の申請と自動友だち追加の申請はコードより先に着手し、後回しにするとテストのやり直しになることを示す図。
コードより先に着手する手続き

手順

作業

主な担当

1. チャネルを作る

LINE Developersでプロバイダーと「LINEログイン」チャネルを作成

開発・管理部門

2. コールバックURLを登録

ログイン後に戻る自社のURLを、検証用・本番用とも登録

開発

3. スコープを決める

profile・openid・emailのどれを要求するか決める

事業部門・開発

4. メールアドレス取得を申請

emailスコープを使う場合、コンソールから申請

開発・法務

5. 友だち追加を設定

ログイン時にLINE公式アカウントの友だち追加を表示するか決める

事業部門・開発

6. 実装とテスト

認可リクエスト、トークン取得、IDトークンの検証、会員の照合

開発

自社にLINEログインが合うかどうかは、LINEログインと他のソーシャルログインの違いで扱っています。

手順1:LINE Developersでチャネルを作る

LINE Developersコンソールでプロバイダー(サービスを提供する事業者の単位)を作り、その中に「LINEログイン」のチャネルを作成します。チャネルの作成時に入力するのは、次の項目です。

プロバイダーを作り、その中にLINEログインチャネルを作成し、開発中の状態で検証したあと公開済みに切り替える流れを示す図。
チャネル作成から公開まで
  • サービスを提供する地域、会社・事業者の所在国・地域
  • チャネル名(「LINE」やそれに類する文字列は含められません)とチャネルの説明
  • アプリタイプ(Webサイトなら「ウェブアプリ」)
  • 連絡用のメールアドレス、プライバシーポリシーと利用規約のURL

LINEのユーザーIDはプロバイダーごとに異なるため、LINE公式アカウントやミニアプリと会員をつなぐ予定があれば、同じプロバイダーの下にチャネルを作成してください(LINE ID連携と会員IDのつなぎ方)。

作成直後のチャネルは「開発中」で、ログインできるのはAdminかTesterの権限を持つ人だけです。「公開済み」に切り替えると開発中には戻せないため、検証用と本番用でチャネルを分けておくと安全です。

手順2:コールバックURLを登録する

利用者がLINEで許可した後に戻ってくる自社のURLを、コールバックURLと呼びます。チャネルの「LINEログイン設定」タブで登録し、改行で区切れば複数登録できます。

コールバックURLはLINEログイン設定タブで登録し、改行区切りで複数登録でき、redirect_uriは登録値と一致させ、検証用と本番用の両方を登録することを示す図。
コールバックURL登録の要点

認可リクエストで送るredirect_uriは、登録したURLと一致している必要があります。よくある食い違いの例を下の表にまとめました。

食い違い

例

末尾のスラッシュ

/callbackと/callback/

サブドメイン

www.の有無

環境の違い

本番のURLだけ登録し、検証環境のURLを忘れる

URLエンコード

認可URLに入れるときにエンコードしていない

Login Plusを使う場合、LINE側に登録する値と管理画面の「許可されたコールバックURL」の設定は、契約企業に提供する手順書で案内しています。

手順3:スコープを決める

スコープでは、LINEから何を受け取るかを指定します。よく使う値は次の3つです。

会員登録ではprofileとopenidを基本とし、emailは必要なときだけopenidと一緒に指定して申請が必要であり、要求が多いほど離脱が増えることを示す図。
スコープ選びの考え方

scopeの値

受け取れるもの

備考

profile

ユーザーID・表示名・プロフィール画像(プロフィール情報の取得APIで)

アクセストークンでAPIを呼ぶ

openid

IDトークン(ユーザーIDなどを含む)

ログインの確認に使う

email

メールアドレス(IDトークンに含まれる)

openidと一緒に指定。事前の申請が必要

会員登録に使うなら、profile openidを基本にして、必要なときだけemailを加えるのが一般的です。要求する情報が多いほど、同意画面で離脱する人が増えます。住所や電話番号まで受け取りたい場合は、別の申請が必要なLINE Profile+を検討してください。

手順4:メールアドレスの取得を申請する

emailスコープを使うには、事前にメールアドレス取得権限の申請が必要です。

OpenID Connectの項目で申請を押し、申請条件に同意し、利用者に示す文面のスクリーンショットを提出すると申請済みと表示される流れを示す図。
メールアドレス取得の申請
  1. チャネルの「チャネル基本設定」タブ、「OpenID Connect」の項目で「申請」を押す
  2. 申請条件に同意する
  3. メールアドレスの取得と利用について、利用者に示す文面のスクリーンショットをアップロードする

提出する文面は、申請の前に法務・管理部門と相談して用意しておきましょう。

申請が通っても、利用者がLINEにメールアドレスを登録していない場合や、提供を許可しなかった場合は、メールアドレスを受け取れません。メールアドレスがなくても登録を完了できる設計にしておく必要があります。

手順5:友だち追加オプションを設定する

LINEログインの同意画面には、LINE公式アカウントを友だちに追加する選択肢を表示できます。この機能を友だち追加オプションと呼び、表示のしかたを決めるのは認可URLに付けるbot_promptの値です。

bot_promptのnormalとaggressive、および自動友だち追加について、表示のしかたと必要な準備を比較した図。
友だち追加の表示方法の違い

bot_promptの値

表示

normal

同意画面の中に、友だち追加のオプションを表示

aggressive

同意の後に、友だち追加の画面を別に表示

友だち追加オプションを使うには、LINEログインのチャネルにLINE公式アカウントをリンクしてください。リンクできるのは、チャネルとLINE公式アカウントが同じプロバイダーに属し、操作する人が両方の管理権限を持っている場合です。

友だち追加を最初からオンの状態で表示する自動友だち追加は、LINEヤフーの認証を受けた「認証プロバイダー」のチャネルでだけ使えます。認証は原則として法人が対象で、LINE公式アカウントの認定代理店(パートナー)を通じて申請します。時間がかかることがあるため、使う予定があれば早めに申請しておきましょう(LINEログインの自動友だち追加(ボットリンク))。

手順6:サーバー側の実装とテスト

サーバー側では、次の順に処理を実装します。

認可リクエスト、認可コードの受け取り、トークンの取得、IDトークンの検証、会員の照合という5つの処理の流れを示す図。
サーバー側で実装する処理
  1. 認可リクエストでは、ログインボタンを押した利用者を、response_type=code・client_id・redirect_uri・state・scope・nonceとPKCEのcode_challengeを付けたLINEの認可URLへ移動させる
  2. コールバックURLで認可コード(code)とstateを受け取り、stateが送った値と一致するか確かめる。認可コードの有効期間は10分で、1回しか使えない
  3. サーバーからLINEに認可コードを送り、アクセストークンとIDトークンを受け取る
  4. 受け取ったIDトークンの署名・発行元・宛先・有効期限・nonceを検証する
  5. IDトークンのsub(LINEのユーザーID)で自社の会員を探し、見つからなければ会員を作成する

state・nonce・PKCEがそれぞれ何を防ぐかはソーシャルログインの仕組み(OAuth 2.0とOpenID Connect)で解説しています。テストでは、次の場面を確認してください。

場面

確認すること

2回目のログイン

同じ会員としてログインでき、会員が重複して作られないか

同意画面でキャンセル

エラー(error=ACCESS_DENIED)で戻ったとき、画面が止まらないか

メールアドレスなし

メールアドレスを受け取れなくても登録を完了できるか

スマートフォンとPC

スマートフォンのLINEにログイン中は自動ログインが働くことがある。PCでは動作しない

アプリ内ブラウザ

LINEなどのアプリ内で開いたとき、ログイン後に元の画面へ戻れるか

よくあるつまずきと対処

症状

主な原因

対処

社外の人がログインできない

チャネルが「開発中」のまま

公開前にテスト権限を付けるか、本番チャネルを公開済みにする

LINEの画面でエラーになり戻ってこない

redirect_uriが登録値と一致していない

登録したURLと1文字ずつ照合する

メールアドレスが空になる

申請が済んでいない、または利用者が許可していない

申請状況を確認し、空でも進める設計にする

公式アカウントの友だちと会員がつながらない

ログインと公式アカウントが別のプロバイダー

チャネルを作る前にプロバイダーを揃える

既存会員が別人として登録される

ログイン中の会員に連携してもらう導線がない

マイページに連携ボタンを置く(既存会員との紐づけ)

社外の人がログインできない、LINEの画面でエラーになる、メールアドレスが空になる、友だちと会員がつながらない、既存会員が別人になるという5つの症状について、主な原因と対処を並べた図。
症状ごとの原因と対処

LINE以外のSNSも含めた導入全体の進め方と期間は、ソーシャルログインの導入手順と期間にまとめています。

よくある質問

LINEログインの実装に費用はかかりますか?

主にかかるのは、自社で開発する工数と、外部のサービスを使う場合の利用料です。LINE側の利用条件は変わることがあるため、最新の内容はLINE Developersで確かめてください。

チャネルIDとチャネルシークレットはどこで確認できますか?

LINE Developersコンソールで、作成したチャネルの「チャネル基本設定」タブに表示されます。チャネルIDは認可リクエストのclient_idに、チャネルシークレットはトークンを取得するリクエストに使います。チャネルシークレットはブラウザ側のコードに書かず、サーバー側だけで扱ってください。

開発中のチャネルで、社内の別の人にもテストしてもらうには?

チャネルの権限設定で、テストに参加する人をTesterとして追加すれば、公開前でもログインを試せます。

会員の識別には何を使えばよいですか?

IDトークンのsub、つまりLINEのユーザーIDを使います。表示名やメールアドレスは利用者が変更できるため、識別には向きません。

IDトークンの検証は自分で実装する必要がありますか?

自社のサーバーで署名やnonceなどを確かめるほか、LINEの検証用エンドポイントにIDトークンを送って確かめる方法もあります。どちらの場合も、検証が済むまではIDトークンの中身を会員の照合に使わないでください。

メールアドレスの申請にはどれくらいかかりますか?

コンソールから申請し、受理されると「申請済み」と表示されます。時間がかかるのは提出する文面の作成と社内確認なので、スコープを決めたら文面づくりに取りかかりましょう。

スマートフォンアプリでも同じ手順ですか?

チャネルの作成やスコープの考え方は共通ですが、ネイティブアプリではLINEが提供するSDKを使うのが一般的で、IDトークンの署名方式なども異なります。本記事はWebサイトでの実装を前提にしています。

Login Plus について

Login Plus のログイン画面。6つのソーシャルログインとパスキーに対応
Login Plus のログイン画面。6つのソーシャルログインとパスキーに対応

Login Plusは、LINEを含む6つのソーシャルログイン(Apple・Facebook・Google・X(旧Twitter)・Yahoo! JAPAN・LINE)とパスキーに1つの実装で対応できるサービスです。

  • LINEを含む各SNSへの申請手順書を、契約企業に無償で提供
  • LINEの自動友だち追加(ボットリンク)に対応。利用には認定代理店を通じた申請が別途必要
  • 取得した情報をフォームへ自動入力する「フォームアシスト」
  • 各SNSの仕様変更にはLogin Plus側で対応
  • 管理画面で、利用ID数・ログイン数・利用SNSの内訳を確認

LINEログインの導入や、友だち追加との組み合わせのご相談は、資料請求またはお問い合わせからどうぞ。

ソーシャルログイン・パスキーの資料をお送りします

対応SNS・料金・実装の流れ・導入事例をまとめています。
「自社に導入できるか」のご相談も、同じフォームから承ります。

送信をもって個人情報の取り扱いに同意いただいたものとみなします。

個別のご相談は からもどうぞ。

送信をもって個人情報の取り扱いに同意いただいたものとみなします。

送信をもって個人情報の取り扱いに同意いただいたものとみなします。