Skip to main content

Discord 提供程序 SSO 配置

¥Discord provider SSO configuration

本页面说明如何为 单点登录 (SSO) 功能 设置 Discord 提供程序。

¥The present page explains how to setup the Discord provider for the Single Sign-On (SSO) feature.

Prerequisites

你已阅读 如何配置 SSO 指南

¥You have read the How to configure SSO guide.

安装

¥Installation

安装 passport-discord :

¥Install passport-discord :

yarn add passport-discord

配置示例

¥Configuration example

Discord SSO 提供程序在 config/admin 文件auth.providers 数组中配置:

¥The Discord SSO provider is configured in the auth.providers array of the config/admin file:

/config/admin.js



const DiscordStrategy = require("passport-discord");



module.exports = ({ env }) => ({
auth: {
// ...
providers: [
{
uid: "discord",
displayName: "Discord",
icon: "https://cdn0.iconfinder.com/data/icons/free-social-media-set/24/discord-512.png",
createStrategy: (strapi) =>
new DiscordStrategy(
{
clientID: env("DISCORD_CLIENT_ID"),
clientSecret: env("DISCORD_SECRET"),
callbackURL:
strapi.admin.services.passport.getStrategyCallbackURL(
"discord"
),
scope: ["identify", "email"],
},
(accessToken, refreshToken, profile, done) => {
done(null, {
email: profile.email,
username: `${profile.username}#${profile.discriminator}`,
});
}
),
},
],
},
});