【问题标题】:How do I solve Redirect URI is not supported by the client in Discord OAuth2如何解决 Discord OAuth2 中的客户端不支持重定向 URI
【发布时间】: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
}

调试我的项目时的步骤:

  1. 在我的浏览器中点击路线/auth
  2. 它会将我带到 Discord 授权页面(通常)
  3. 单击授权按钮将我带到此页面;

但是我已经定义了所有路由并测试了它们是否有效,它们都可以。如果您对我从这里得到的 YouTube 视频感到好奇,请联系 link

【问题讨论】:

    标签: javascript node.js express discord passport.js


    【解决方案1】:

    您能检查一下您是否缺少方案部分吗?它应该是 http://localhost:9999/auth/redirect

    【讨论】:

    • scheme 是什么意思?
    • 单击授权按钮只是离开使页面处于无休止的请求周期中,但在控制台中它为我提供了一些值
    • 我无法完全找到问题所在,但我在不同的端口上重新创建了项目并且它工作正常。我将passport-js 切换为discord-oauth2,此后没有任何问题
    • 嘿@OyedejiOyewole,对不起,我错过了你的后续问题。很高兴您找到了替代解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 2020-10-04
    • 2019-05-09
    • 2019-11-12
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多