# LINEログインを始めよう
ここでは、簡単なウェブアプリ用のスターターアプリをデプロイして、LINEログインを利用する方法を説明します。スターターアプリにアクセスすると、ユーザーのLINEアカウントでログインできます。また、ログイン時に発行されるアクセストークンを利用して、ユーザープロフィールを取得することもできます。
このページの操作をすべて行うと、LINEログインの仕組みや、LINEログインをウェブアプリに組み込む方法について、よく理解できます。
**LINE SDK fo iOS/Android/Unityのスターターアプリ**
プラットフォームごとにLINEログインのスターターアプリを試すことができます:
- [スターターアプリを試してみる - LINE SDK for iOS Swift](https://developers.line.biz/ja/docs/line-login-sdks/ios-sdk/swift/try-line-login/)
- [サンプルアプリを試してみる - LINE SDK for Android](https://developers.line.biz/ja/docs/line-login-sdks/android-sdk/try-line-login/)
- [スターターアプリを試してみる - LINE SDK for Unity](https://developers.line.biz/ja/docs/line-login-sdks/unity-sdk/try-line-login/)
## 始める前に
LINEログインのスターターアプリを利用するには、以下の要件を満たす必要があります。
| 項目 | 説明 |
| --- | --- |
| LINEアカウント | LINEを利用するためのアカウントです。LINEアカウントは、スターターアプリを試すために必要です。LINEアカウントを作成するには、iOS版LINEまたはAndroid版LINEを[ダウンロード](https://line.me/)して、新規登録をしてください。登録方法について詳しくは、『LINEみんなの使い方ガイド』の「[新規登録をする](https://guide.line.me/ja/signup-and-migration/line-signup.html)」を参照してください。 |
| プロバイダー | プロバイダーは、アプリを提供する個人または組織を表す概念です。プロバイダーは、[LINE Developersコンソール](https://developers.line.biz/console/)で作成します。1人のLINEユーザーは、プロバイダーごとに異なるユーザーIDを持ちます。 |
| LINEログインのチャネル | チャネルは、アプリとLINEプラットフォームを接続するための通信路です。プロバイダーの中に作成します。アプリごとに、チャネルを作成する必要があります。LINEログインのチャネルは、[LINE Developersコンソール](https://developers.line.biz/console/register/line-login/channel/)で作成します。
注:
line-login-starter-{YYYYMMDD}
- Region
- Config Vars
- 次の形式のコールバックURL:`https://{Heroku app name}.herokuapp.com/auth`
- チャネルID([LINE Developersコンソール](https://developers.line.biz/console/)で確認できます)
- チャネルシークレット([LINE Developersコンソール](https://developers.line.biz/console/)で確認できます)
4. [**Deploy app**]をクリックし、アプリが正常にデプロイされたことを確認します。
## Step 3: チャネルの設定確認し、コールバックURLを入力する
ウェブアプリ用のLINEログインのチャネルを使用する場合は、[**アプリタイプ**]と[**コールバックURL**]が正しく設定されている必要があります。
1. [LINE Developersコンソール](https://developers.line.biz/console/)で、Step 1で作成したチャネルを選択します。
2. [**チャネル基本設定**]タブをクリックし、[**アプリタイプ**]に[**ウェブアプリ**]が表示されていることを確認します。
3. [**LINEログイン設定**]タブをクリックし、[**コールバックURL**]にHerokuのコールバックURL(`https://{Heroku app name}.herokuapp.com/auth`)を入力します。
### LINEログインの**チャネル基本設定**
LINEログインチャネルの[**チャネル基本設定**]タブで表示される情報は以下のとおりです。
| 項目 | 説明 |
| --- | --- |
| **チャネルID** | チャネルを区別するための識別子 |
| **サービスを提供する地域** | LINEログインサービスを提供する地域(チャネル作成時のみ設定可能) |
| **会社・事業者の所在国・地域** | チャネルを管理する会社・事業者の所在国・地域 |
| **チャネルアイコン** | チャネルのアイコン |
| **チャネル名** | チャネルの名称 |
| **チャネル説明** | チャネルの詳細説明 |
| **メールアドレス** | チャネルに関する重要なお知らせを受信するメールアドレス |
| **プライバシーポリシーURL** | アプリのプライバシーポリシーのURL |
| **サービス利用規約URL** | アプリの利用規約のURL |
| **アプリタイプ** | LINEログインを組み込むアプリの種類 |
| **権限** | このチャネルがアクセスできるユーザー情報の種類 |
| **チャネルシークレット** | アプリに対して、チャネルへのアクセスを許可したことを示す秘密鍵 |
| **アサーション署名キー** | アサーション署名キーペアに紐づいたUUID |
| **あなたのユーザーID** | LINEアカウントのユーザーID |
| **リンクされたLINE公式アカウント** | チャネルにリンクされたLINE公式アカウント。友だち追加オプションで使用するLINE公式アカウントを選択します。同じプロバイダーに存在するMessaging APIチャネルと連携しているLINE公式アカウントのみを選択できます。 |
| **多言語対応** | 言語を追加することで、チャネルを多言語対応にすることができます。 |
| **メールアドレス取得権限** | OpenID Connectを使用して、ユーザーのメールアドレスを要求できます。 |
| **チャネルの削除** | チャネルの削除 |
## Step 4: ウェブアプリを試す
1. ウェブアプリのURL(`https://{Heroku app name}.herokuapp.com`)にアクセスします。以下のように表示されます。

2. [**Log in**]をクリックします。
LINEログインの標準的なページにリダイレクトされます。リダイレクト先のURLは、`https://access.line.me/oauth2/v2.1/`で始まり、多くのクエリパラメータが含まれています。クエリパラメータについて詳しくは、「[ウェブアプリにLINEログインを組み込む](https://developers.line.biz/ja/docs/line-login/integrate-line-login/)」を参照してください。
3. LINEにログインし、ウェブアプリに必要な権限を与えることを同意します。
LINEアカウントでログインすると、LINEユーザーのプロフィール画像、表示名、およびステータスメッセージが表示されます。(iOSまたはAndroidを使用していて、すでにLINEアカウントでログイン済みの場合は、自動的にウェブアプリにログインされます。)
### スターターアプリのその他の機能を試す
ウェブアプリにログインした後で以下のボタンをクリックすると、ウェブアプリのその他の機能を試すことができます。
- ユーザーのアクセストークンを検証する
- ユーザーのアクセストークンを更新する
- アクセストークンを取り消す(ユーザーをログアウトさせる)
### ログを確認する
[Heroku CLI](https://devcenter.heroku.com/articles/heroku-cli)を使用して、ウェブアプリのログを確認します。
1. コマンドラインからHerokuにログインします。
```sh
$ heroku login
```
1. ログを確認します。
```sh
$ heroku logs --app {Heroku app name} --tail
```
## Step 5: ウェブアプリをカスタマイズする
スターターアプリをローカルコンピューターにダウンロードして、テストしたり修正したりできます。修正後は、任意のウェブサーバーにアプリをデプロイできます。ここでは、Step 1でデプロイしたHerokuアプリに変更を加えて、再デプロイする方法について説明します。
以下のソフトウェアをインストール済みであることを確認します。
- JDK 1.8以降
- Maven™ 3.0以降
- Git™
1. GitHubの[line-login-starter](https://github.com/line/line-login-starter)リポジトリをクローンします。
```sh
git clone https://github.com/line/line-login-starter.git
```
1. `cd`コマンドを実行して、`line-login-starter`ディレクトリに移動します。
1. Heroku用リモートをローカルリポジトリに追加します。
```sh
$ heroku git:remote -a {Heroku app name}
```
1. 変更を加えてコミットします(任意)。
```sh
$ git add .
$ git commit -m "First commit"
```
1. 変更をHerokuのmasterブランチにプッシュします。
```sh
$ git push heroku master
```
## Step 6: チャネルを公開する(任意)
LINEログインのチャネルは「開発中」のステータスで作成されます。チャネルが「開発中」の場合は、AdminまたはTesterの権限(詳しくは、「[権限を管理する](https://developers.line.biz/ja/docs/line-developers-console/managing-roles/)」を参照)を持つユーザーのみがLINEログインを利用できます。そのほかのユーザーもLINEログインを利用できるようにするには、ステータスを「公開済み」に変更してください。ステータスを「公開済み」にするには、[LINE Developersコンソール](https://developers.line.biz/console/)でLINEログインのチャネルを表示し、ページ上部の[**開発中**]をクリックします。
LINEログインのテストのために使用する場合は、ステータスを変更する必要はありません。アプリのLINEログインを一般のユーザーが利用できるようにするときに限り、ステータスを「公開済み」に変更してください。なお、ステータスを「公開済み」に変更した場合、「開発中」に戻すことはできないため注意してください。
### ステータスが「開発中」のLINEログインチャネルでのテスト方法
ステータスが「開発中」のLINEログインチャネルでテストを行う場合、チャネルでのテストが可能な権限が付与された開発者アカウントに、LINEアカウントが紐づけられている必要があります。開発者アカウントに紐づくビジネスIDにLINEアカウントを連携することで、開発者アカウントにLINEアカウントを紐づけることができます。
開発者アカウントには必ず1対1でビジネスIDが紐づけられていますが、ビジネスIDへのLINEアカウントの連携は任意です。そのため、ビジネスIDとLINEアカウントが連携されていない場合があります。LINEログインのテストを行う場合には、ビジネスIDとLINEアカウントが連携されているかを確認してください。
LINEログインのテストを行う際には、開発アカウントと紐づいているLINEアカウントでログインをする必要があります。ビジネスIDに登録しているメールアドレスとパスワードでは、ログインはできないことに注意してください。
ビジネスIDとLINEアカウントの連携について詳しくは、『LINE Developersコンソールドキュメント』の「[ビジネスIDにLINEアカウントを連携させる](https://developers.line.biz/ja/docs/line-developers-console/login-account/#link-business-account-with-line-account)」を参照してください。
## 次のステップ
- [ウェブアプリにLINEログインを組み込む](https://developers.line.biz/ja/docs/line-login/integrate-line-login/)
- [iOSアプリにLINEログインを組み込む - Swift](https://developers.line.biz/ja/docs/line-login-sdks/ios-sdk/swift/integrate-line-login/)
- [AndroidアプリにLINEログインを組み込む](https://developers.line.biz/ja/docs/line-login-sdks/android-sdk/integrate-line-login/)
- [UnityゲームにLINEログインを組み込む](https://developers.line.biz/ja/docs/line-login-sdks/unity-sdk/integrate-line-login/)