- WebアプリがLINEログイン連携する際の事前作業や主要な連携処理(ログイン、ログアウト、ユーザー情報取得)フローに関する備忘録記事。
開発事前作業
- LINEログインチャネル(WebアプリとLINEプラットフォームを接続するための通信路。連携したいWebアプリごとに作成する。)を作成する。
- リダイレクトURI(コールバックURL)を設定する。
- メールアドレス取得権限申請(ログインしたユーザーのメールアドレスを取得する)を行う。
- ※その他、アイコンやプライバシーポリシーURLなどを設定する。
ログイン処理
1. ユーザーは、Webアプリに設置されたLINEログインボタンを押下する。
- ボタンデザインは、以下のガイドラインに従うこと。
- ログインボタンを設置せず、認可URLへの直接リンクもOK。
2. Webアプリは、LINE Platform 認可URLへアクセスする(リダイレクトURIとstateを指定する)。
- URL及びパラメータは以下を参照。
3. LINE Platformは、ログイン画面・認可同意画面をユーザーに返却する。
4. ユーザーは、ログイン画面・認可同意画面でユーザー認証・認可同意を行う。
- ユーザーは、4つの認証方法のいずれかでログインを行う。詳細は以下を参照のこと。
- ユーザーは、開発者が
scope
パラメータで指定した情報へのアクセス権を認可する。- scopeの定義域については、以下を参照のこと。
5.LINE Platformは、リダイレクトURIにアクセスする(認可コードとstateをクエリパラメータに指定する)。
- 正常/異常パラメータの仕様については、以下を参照のこと。
6.Webアプリは、受け取ったstateを検証する。
7.Webアプリは、LINE Platformトークンエンドポイントからアクセストークンを取得する(認可コードをクエリパラメータに指定する)。
- リクエスト/レスポンス仕様については、以下を参照のこと。
8.LINE Platformは、Webアプリにアクセストークンを返却する。
9.Webアプリは、LINE Platformにユーザー情報をリクエストする(IDトークンを指定する)。
10.LINE Platform はWebアプリにユーザー情報を返却する。
11.ログイン成功
ログアウト処理
- ユーザーは、Webアプリのログアウトボタンを押下する。
- Webアプリは、該当ユーザーのセッション情報を削除し、アクセストークンを無効化する。
ユーザー情報取得処理
- Webアプリは、ログインフローで取得したアクセストークンを指定してプロフィールを取得する。
- API詳細仕様については、以下を参照のこと。
- ユーザープロフィールを取得する
- 指定するアクセストークンに
profile
スコープが付与されている必要がある。
- API詳細仕様については、以下を参照のこと。