• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

97
Views
Error: estrategia de autenticación desconocida "spotify"

Recibo un error cuando pruebo mi código 'Error: estrategia de autenticación desconocida "spotify"'. Incluso intenté buscar en Google este problema, pero no pude encontrar una respuesta.

Actualización: actualicé mi código para dar respuestas a una persona que me está ayudando

Código

 const passport = require('passport') const SpotifyStrategy = require('passport-spotify').Strategy const userWebData = require('../model/userWebSchema') passport.serializeUser((user, done) => { const u = user done(null, u) }) passport.deserializeUser(async(spotifyID, done)=> { try{ const data = await userWebData.findOne({ spotifyID: spotifyID}) const user = data return user ? done( null, user) : done(null, null) }catch(e){ console.log(e) done(e, null) } }) passport.use( new SpotifyStrategy({ clientID: 'Clients_ID_That_I_Wont_Show', clientSecret: 'Clients_Secret_That_I_Wont_Show', callbackURL: 'http://localhost:3001/', scope: ["user-modify-playback-state", "user-read-private","user-library-read"] }, async(accessToken, refreshToken, expires_in, profile, done)=>{ const userData = await userWebData.findOne({ spotifyID: profile.id}) if(userData){ console.log(`User ${profile.displayName} found`) return done(err, userData); }else{ let profiles = await userWebData.create( { spotifyID: profile.id, spotifyName: profile.displayName, spotifyFollowers: profile.followers, } ) profile.save() console.log(`New User ${profile.displayName} Created`) return done(err, userData); } } ) )
almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

También debe importar el paquete passport-spotify antes de autenticarse con él. Primero, instale el paquete ( npm i passport-spotify ) y luego solicítelo en su archivo:

 const SpotifyStrategy = require('passport-spotify').Strategy;

Luego, debe llamar a la función passport.use() antes de poder autenticarse con passport :

 passport.use( new SpotifyStrategy( { clientID: client_id, clientSecret: client_secret, callbackURL: 'http://localhost:8888/auth/spotify/callback' }, function(accessToken, refreshToken, expires_in, profile, done) { User.findOrCreate({ spotifyId: profile.id }, function(err, user) { return done(err, user); }); } ) );

Finalmente, puede usarlo como un middleware Express. Su código modificado sería algo como:

 const express = require('express') const app = express() const passport = require('passport') const SpotifyStrategy = require('passport-spotify').Strategy; passport.use( new SpotifyStrategy( { clientID: client_id, clientSecret: client_secret, callbackURL: 'http://localhost:8888/auth/spotify/callback' }, function(accessToken, refreshToken, expires_in, profile, done) { User.findOrCreate({ spotifyId: profile.id }, function(err, user) { return done(err, user); }); } ) ); app.get('/', passport.authenticate('spotify'), (req, res)=>{ res.redirect('http://localhost:3001/user') }) app.get('/user', (req, res) => { if(req.user == undefined){res.status(401).redirect('http://localhost:3001/')}else{res.send(req.user)} }) module.exports = app

Consulte http://www.passportjs.org/packages/passport-spotify/

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error