<?php
// 引入 LINE Login SDK
require_once __DIR__ . '/vendor/autoload.php';
// 使用 Composer 自动加载
use LINE\LINEBot\HTTPClient\CurlHTTPClient;
use LINE\LINEBot;
// 設定 LINE Login 的 Channel ID 和 Channel Secret
$channelId = 'YOUR_CHANNEL_ID';
$channelSecret = 'YOUR_CHANNEL_SECRET';
// 建立 LINE Bot SDK 实例
$httpClient = new CurlHTTPClient('YOUR_CHANNEL_ACCESS_TOKEN');
$bot = new LINEBot($httpClient, ['channelSecret' => $channelSecret]);
// 建立 LINE Login 的設定
$config = [
'channelId' => $channelId,
'channelSecret' => $channelSecret,
'callbackUrl' => 'http://your-website.com/callback.php', // 設定回调 URL
];
// 建立 LINE Login 实例
$lineLogin = new \LINE\LINEBot\Login\LINELogin($config);
// 处理 LINE Login 的请求
if (isset($_GET['code'])) {
// 获取 Access Token
try {
$accessToken = $lineLogin->retrieveAccessToken($_GET['code']);
// 使用 Access Token 获取用户信息
$userProfile = $lineLogin->verifyAccessToken($accessToken);
// 处理用户信息,例如:保存到数据库
// ...
// 跳转到成功页面
header('Location: success.php');
exit;
} catch (\Exception $e) {
// 处理错误
echo "Error: " . $e->getMessage();
}
} else {
// 生成 LINE Login 的授权 URL
$authUrl = $lineLogin->generateAuthUrl();
// 跳转到 LINE Login 授权页面
header('Location: ' . $authUrl);
exit;
}
步骤:
- 创建 LINE Login Channel:
- 在 LINE Developers Console 上创建一个新的 LINE Login channel。
- 获取 Channel ID 和 Channel Secret。
- 安装 LINE Bot SDK:
- 使用 Composer 安装 SDK:
composer require line/line-bot-sdk
- 使用 Composer 安装 SDK:
- 创建
index.php
文件:- 将上面的代码粘贴到
index.php
文件中。 - 替换
YOUR_CHANNEL_ID
和YOUR_CHANNEL_SECRET
为你的实际值。 - 将
http://your-website.com/callback.php
替换为你的回调 URL。
- 将上面的代码粘贴到
- 创建
callback.php
文件:- 创建一个名为
callback.php
的文件,用于处理 LINE Login 回调。 - 在
callback.php
中,你可以获取用户信息并执行其他操作,例如将用户重定向到成功页面。
- 创建一个名为
- 运行你的应用程序:
- 将你的应用程序部署到 Web 服务器。
- 访问你的应用程序的 URL,你将被重定向到 LINE Login 页面。
- 使用你的 LINE 帐户登录,你将被重定向回你的应用程序,并可以访问用户信息。
注意:
- 在生产环境中,请确保使用 HTTPS 协议来保护你的应用程序和用户数据。
- 你需要在 LINE Developers Console 中配置你的回调 URL。
发表回复