【问题标题】:Discord OAuth2 FreezingDiscord OAuth2 冻结
【发布时间】:2021-09-26 15:35:25
【问题描述】:

我正在使用 Node.js 和 express 开发一个网站。我想选择使用 Discord 登录。

我遵循了npm pagevideo guide 上的指南

我可以访问 Discord OAuth 页面,但是当我单击“授权”时,它会在控制台上记录我的 discord ID,但不会重定向(应该重定向到 /auth/success)。如果我单击“取消”,它将立即按预期重定向到 /auth/forbidden。没有错误。

app.js

const express = require('express');
const http = require('http');
const session = require('express-session');
const passport = require('passport');
const discordStrategy = require('./strategies/discordstrategy');
const app = express();

app.use(session({
   secret: "secret",
   cookie: {
      maxAge: 60000 * 60 * 24
   },
   saveUninitialized: false
}));
app.use(passport.initialize());
app.use(passport.session());
app.use('/auth', require('./routes/auth'))

const httpServer = http.createServer(app);
httpServer.listen(80, () => {
    console.log("HTTP Server running on port 80");
});

auth.js

const express = require('express');
const passport = require('passport');
const router = express.Router();

router.get('/success', (req, res) => {
    res.send("sucessful")
});

router.get('/forbidden', (req, res) => {
    res.send("forbidden")
});

router.get('/', passport.authenticate('discord'));
router.get('/redirect', passport.authenticate('discord', {
    failureRedirect: '/auth/forbidden'
}), function(req, res) {
    res.redirect('/auth/success')
});

module.exports = router;

discordstrategy.js

const DiscordStrategy = require('passport-discord').Strategy;
const passport = require('passport');
 
var scopes = ['identify', 'guilds'];
 
passport.use(new DiscordStrategy({
    clientID: '[redacted]',
    clientSecret: '[redacted]',
    callbackURL: '/auth/redirect',
    scope: scopes
},
function(accessToken, refreshToken, profile, cb) {
    console.log(profile.id)
}));

【问题讨论】:

    标签: node.js express oauth-2.0 discord passport.js


    【解决方案1】:

    Authing 后,discord 和 express 使用缓存系统来存储您的用户,这样您就不必每次都登录。尝试隐身或其他帐户并登录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-09
      • 2022-01-07
      • 2019-05-26
      • 2019-05-14
      • 1970-01-01
      • 2020-12-04
      • 2021-05-26
      • 2020-05-22
      相关资源
      最近更新 更多