简介

本文介绍如何使用 PHP 实现 Discord 账户与网站或应用程序的绑定功能。通过 Discord OAuth2,用户可以方便地使用 Discord 账号登录您的应用。

准备工作

  1. Discord Developer Portal 创建应用程序
  2. 获取 Client ID 和 Client Secret
  3. 设置回调 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 用户信息

相关文档

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部