Lineログインを実装する

PHP7で検証しています。
PHPのビルドインのサーバを使用しています。

ChannelIDとChannelSecretを取得

  1. Line Developers にアクセスします。
  2. Lineログインをはじめるをクリックしてログインします。
  3. 新規プロバイダー作成をします。
  4. 新規channel作成をします。
  5. アプリ設定からCallbackURLを設定します。今回は http://localhost:8080/callback.php と設定しておきます。
  6. Channel基本設定からChannelIDとChannelSecretを取得します。

実装

socialite-manager/socialite を使うことで簡単に実装できます。
Composerでダウンロードします。
(良さそうなライブラリならスターしてください:kissing_heart:)

composer require socialite-manager/socialite
composer require socialite-manager/line-provider

コンフィグの作成

取得したChannelIDとChannelSecretを設定します。

config.php
<?php

$config = [
    'client_id' => 'xxx',
    'client_secret' => 'xxx',
    'redirect' => 'http://localhost:8080/callback.php',
];

リダイレクト設定

Lineログインページへリダイレクトをします。

index.php
<?php
require_once __DIR__ . "/vendor/autoload.php";
require_once __DIR__ . "/config.php";

use Socialite\Provider\LineProvider;
use Socialite\Socialite;

Socialite::driver(LineProvider::class, $config)->redirect();

ユーザ情報の取得

Line認証後にここでユーザ情報を取得できます。
getId() でユーザIDを取得できるのでDBにIDを保存しておくことでユーザ登録を実装できます。

callback.php
<?php
require_once __DIR__ . "/vendor/autoload.php";
require_once __DIR__ . "/config.php";

use Socialite\Provider\LineProvider;
use Socialite\Socialite;

$user = Socialite::driver(LineProvider::class, $config)->user();

var_dump($user->getName());
var_dump($user->getId());

確認

ビルドインサーバの起動

$php -S localhost:8080

http://localhost:8080 にアクセスするLineログイン画面へリダイレクトします。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.