跳转到主要内容

概览

revolution/socialite-discord 是一个让你能在 Laravel Socialite 中使用 Discord OAuth2 认证的驱动包。 Laravel Socialite 的内置 provider 中不包含 Discord。只需安装该包,你就可以为应用添加基于 Socialite::driver('discord') 的 Discord 登录。
关于 Laravel Socialite 自身的使用方式,请参见 Socialite 指南

安装

配置

在 Discord Developer Portal 注册应用

Discord Developer Portal 中创建应用,从 OAuth2 部分获取 Client ID 和 Client Secret。请在 Redirects 中添加回调 URL(例如 https://example.com/auth/discord/callback)。

config/services.php

.env

基本使用

1

定义路由

routes/web.php 中添加用于跳转与回调的两个路由。
2

创建控制器

Scope 配置

Discord OAuth2 通过 scope 指定要获取的权限。默认 scope 仅为 identify
主要 scope 列表:
所有 scope 请参见 Discord OAuth2 文档

保存用户并登录

以下是在回调路由中获取用户信息、保存到数据库后进行登录的典型实现示例。
获取 email 需要 email scope。若未指定 scope,getEmail() 可能返回 null

与其他 Socialite 驱动的比较

该包通过 Socialite::extend() 以官方方式实现,可以与内置 provider 使用完全相同的 API。关于自定义 provider 的机制以及 Socialite::extend() 的详情,请参见 Socialite 指南
更多最新信息请参见 GitHub 仓库
最后修改于 2026年7月18日