Hola, comunidad de StackOverflow 👋. Estoy implementando una aplicación web que saca toda la información posible de un usuario de Discord. Actualmente en el backend de mi proyecto uso express | passport | passport-discord (también estoy siguiendo un tutorial en YouTube). El código correspondiente es
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 }Los pasos al depurar mi proyecto donde:
/auth en mi navegadorPero he definido todas las rutas y las pruebo para ver si funcionan, y todas funcionan. Si tiene curiosidad sobre el video de YouTube, obtuve esto de este es el enlace
Sé que llego tarde, pero siempre asegúrese de agregar "http://" antes de localhost y ¡debería funcionar!
Debe ser http y no https ya que es una dirección local y no puede tener un certificado SSL
¿Puedes comprobar si te falta la parte del esquema? debería ser http://localhost:9999/auth/redirect