LINE活用

LINEログインの実装手順|チャネル作成・コールバックURL・メール取得申請からテストまで

LINEログインの実装で時間がかかるのは、コードよりもLINE Developers側の設定と申請です。メールアドレスの取得や友だち追加には事前の手続きがあり、後回しにするとテストをやり直すことになります。本記事では、チャネルの作成からテストまでを6つの手順に分け、つまずきやすい点と対処を示します。

LINEログインの実装とは、LINE Developersで「LINEログインチャネル」を作り、自社サイトとLINEをOAuth 2.0とOpenID Connectの手順でつなぐ作業です。コードを書く前に、チャネルの作成・コールバックURLの登録・メールアドレス取得の申請を済ませておくと、公開日が延びにくくなります。

ソーシャルログインの基本(仕組み・メリットとデメリット・選び方)はソーシャルログインとはで解説しています。

結論:実装は6つの手順。申請ものを先に始める

LINEログインの実装は、次の6つの手順で進みます。メールアドレスの取得権限と友だち追加の申請は、コードより先に着手してください。後から気づくと、テストをやり直すことになります。

手順

作業

主な担当

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」やそれに類する文字列は含められません)とチャネルの説明
  • アプリタイプ(Webサイトなら「ウェブアプリ」)
  • 連絡用のメールアドレス、プライバシーポリシーと利用規約のURL

どのプロバイダーの下に作るかは慎重に選びます。LINEのユーザーIDはプロバイダーごとに違う値になるので、LINE公式アカウントやミニアプリと会員をつなぐ予定があるなら、同じプロバイダーの下に置いてください(LINE ID連携と会員IDのつなぎ方)。

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

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

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

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

食い違い

末尾のスラッシュ

/callback/callback/

サブドメイン

www. の有無

環境の違い

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

URLエンコード

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

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

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

スコープは「LINEから何を受け取るか」の指定です。LINEログインで使う主なスコープは3つです。

scope の値

受け取れるもの

備考

profile

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

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

openid

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

ログインの確認に使う

email

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

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

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

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

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

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

つまり、申請の前に「メールアドレスを何に使うか」を利用者に示す画面の文面ができている必要があります。文面の内容は、自社の法務・管理部門に確認してください。

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

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

LINEログインでは、ログインの同意画面でLINE公式アカウントの友だち追加を表示できます(友だち追加オプション)。認可URLの bot_prompt で表示のしかたを選びます。

bot_prompt の値

表示

normal

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

aggressive

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

使うには、LINEログインのチャネルにLINE公式アカウントをリンクします。両方が同じプロバイダーに属し、操作する人が両方の管理権限を持っている必要があります。

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

手順6:実装とテスト

自社のサーバー側で実装する処理は、次の流れです。

  1. 認可リクエスト……ログインボタンから、response_type=codeclient_idredirect_uristatescope を付けてLINEの認可URLへ移動させる。nonce とPKCE(code_challenge)も付ける
  2. 認可コードの受け取り……コールバックURLで codestate を受け取り、state が送った値と一致するか確かめる。認可コードの有効期間は10分で、1回しか使えない
  3. トークンの取得……サーバーから認可コードを送り、アクセストークンとIDトークンを受け取る
  4. IDトークンの検証……署名・発行元・宛先・有効期限・nonce を確かめる。LINEの検証用エンドポイントを使うこともできる
  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以外のSNSも含めた導入全体の進め方はソーシャルログインの導入手順と期間を参照してください。

よくある質問

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

主にかかるのは、自社で開発する工数と、ログインの仕組みを外部のサービスで用意する場合の利用料です。LINE側の利用条件は変わることがあるため、LINE Developersで最新の内容を確認してください。自動友だち追加を使う場合は、認定代理店を通じた申請が別に必要です。

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

IDトークンの sub、つまり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・料金・実装の流れ・導入事例をまとめています。
「自社に導入できるか」のご相談も、同じフォームから承ります。

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

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

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

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