Intento usar Oauth 2.0 en Slack.
Lo que he hecho hasta ahora es; He creado una aplicación desde aquí; https://api.slack.com/apps
Obtengo el client id
y client secret
a partir de credenciales de la aplicación.
Y luego, instalo passport-slack
como npm install passport-slack
Como https://github.com/mjpearson/passport-slack sugiere que agregué el siguiente código con ID de cliente de mu y secreto de cliente.
passport.use(new SlackStrategy({
clientID: CLIENT_ID,
clientSecret: CLIENT_SECRET
},
function(accessToken, refreshToken, profile, done) {
User.findOrCreate({ SlackId: profile.id }, function (err, user) {
return done(err, user);
});
}
));
Pero arroja un error como;
[ReferenceError: SlackStrategy is not defined]
Yo requiero passport-slack
como;
var passport = require("passport-slack");
¿Por qué no puedo encontrar al usuario? ¿Y me da un error?
Respuestas
2 para la respuesta № 1Lo primero:
var passport = require ("passport-slack");
Debes importar el pasaporte así:
var passport = require("passport");
Passport es un middleware de autenticación, que utiliza "estrategias". Pasaporte-holgura es una de estas estrategias. Aquí, solo quieres el middleware.
Segunda cosa:
[ReferenceError: SlackStrategy no está definido]
Necesitas importar el SlackStrategy así:
var SlackStrategy = require("passport-slack").Strategy;
Esta vez, usted quiere una estrategia, por lo que es la forma en que la importamos.
Última cosa:
¿Por qué no puedo encontrar al usuario? ¿Y me da un error?
No estoy muy seguro de lo que quiere decir aquí, pero creo que recibe un error que le dice que "el usuario no está definido" o algo así. Para obtener más información sobre esto User.findOne()
función, puedes echar un vistazo a este tema.