简介
本文介绍如何使用 PHP 实现 Discord 账户与网站或应用程序的绑定功能。通过 Discord OAuth2,用户可以方便地使用 Discord 账号登录您的应用。
准备工作
- 在 Discord Developer Portal 创建应用程序
- 获取 Client ID 和 Client Secret
- 设置回调 URL
安装 Discord OAuth2 库
使用 Composer 安装 Discord PHP 库:
composer require teamreflex/discord-php
或者直接从 GitHub 下载:DiscordPHP GitHub
代码实现
<?php
// 引入 Discord OAuth2 库
require_once 'discord-php/vendor/autoload.php';
use Discord\OAuth\DiscordProvider;
// 定义 Discord 应用程序的客户端 ID 和密钥
$client_id = 'YOUR_CLIENT_ID';
$client_secret = 'YOUR_CLIENT_SECRET';
// 创建 DiscordProvider 实例
$provider = new DiscordProvider([
'clientId' => $client_id,
'clientSecret' => $client_secret,
'redirectUri' => 'https://example.com/callback', // 回调 URL
]);
// 如果用户尚未授权,则重定向到 Discord 授权页面
if (!isset($_GET['code'])) {
$authUrl = $provider->getAuthorizationUrl();
header('Location: ' . $authUrl);
exit;
}
// 从 Discord 获取访问令牌
$token = $provider->getAccessToken('authorization_code', [
'code' => $_GET['code'],
]);
// 使用访问令牌获取用户信息
$user = $provider->getResourceOwner($token);
// 将用户信息与系统中的帐户相关联
// 例如,将用户 ID 数据库中,以便以后进行身份验证
// 打印用户信息以进行测试
echo 'Hello, ' . $user->getUsername() . '!';
?>
关键步骤说明
- 创建 DiscordProvider:配置客户端 ID、密钥和回调 URL
- 获取授权 URL:将用户重定向到 Discord 授权页面
- 获取访问令牌:使用授权码换取访问令牌
- 获取用户信息:使用访问令牌获取 Discord 用户信息
相关文档
- Discord API 文档:https://discord.com/developers/docs/intro
- DiscordPHP GitHub:https://github.com/teamreflex/DiscordPHP

发表评论 取消回复