#1、LINE Developers にログイン
#2、新規チャンネル作成
#3、コールバックURLを設定
Lineログイン設定から設定
#4、チャンネルIDとチャンネルシークレットを確認
チャンネル基本設定で確認
#5、アクセストークンを取得
$postData = array(
'grant_type' => 'authorization_code',
'code' => $_GET['code'],
'redirect_uri' => 'コールバックURL(Lineログイン設定)',
'client_id' => 'チャンネルID(チャンネル基本設定)',
'client_secret' => 'チャネルシークレット(チャンネル基本設定)',
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_URL, 'https://api.line.me/oauth2/v2.1/token');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$json = json_decode($response);
$accessToken = $json->access_token; //アクセストークン
#6、アクセストークンでユーザ情報を取得
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $accessToken));
curl_setopt($ch, CURLOPT_URL, 'https://api.line.me/v2/profile');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$json = json_decode($response);
$userInfo= json_decode(json_encode($json), true); //ログインユーザ情報
//取得したユーザー情報を確認
print_r($userInfo);
#7、Lineログインボタンの設置
公式ドキュメント
https://developers.line.biz/ja/docs/line-login/integrate-line-login/#making-an-authorization-request
https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id={チャンネルID}&redirect_uri={コールバックURL}&state={乱数}&scope=profile%20openid&nonce=09876xyz