【发布时间】:2022-02-18 02:16:59
【问题描述】:
嘿,StackOverflow 社区 ????。我正在实现一个网络应用程序,它可以显示 Discord 用户的所有可能信息。目前在我的项目后端,我使用express | passport | passport-discord(我也在关注 YouTube 上的教程)。相关代码是
strategies/discord.js
const DiscordStrategy = require('passport-discord').Strategy;
const passport = require('passport');
const config = require('config');
var scopes = ['identify', 'email', 'guilds'];
passport.use(new DiscordStrategy({
clientID: config.get('discord.clientID'),
clientSecret: config.get('discord.clientSecret'),
callbackURL: config.get('discord.redirectURL'),
scope: scopes
}, (accessToken, refreshToken, profile, done) => {
console.log(profile.id);
console.log(profile.accent_color);
}));
routes/auth.js
const express = require('express');
const router = express.Router();
const passport = require('passport');
/* GET users listing. */
router.get('/', passport.authenticate('discord'));
router.get('/redirect', passport.authenticate('discord', {
failureRedirect: '/forbidden'
}), function(req, res) {
res.send(200) // Successful auth
});
module.exports = router;
config/default.json
{
"apiName": "Discord Profiler API",
"discord": {
"clientID": "xxx-xxx-xxx-xxx-xxx-xxx",
"clientSecret": "xxxxxxxxxxxxxxxxxxx",
"redirectURL": "localhost:9999/auth/redirect"
},
"port": 9999
}
调试我的项目时的步骤:
- 在我的浏览器中点击路线
/auth - 它会将我带到 Discord 授权页面(通常)
- 单击授权按钮将我带到此页面;
但是我已经定义了所有路由并测试了它们是否有效,它们都可以。如果您对我从这里得到的 YouTube 视频感到好奇,请联系 link
【问题讨论】:
标签: javascript node.js express discord passport.js