Como recordatorio, este proyecto se está construyendo sobre el siguiente proyecto de inicio en Glitch , o clonado desde GitHub . La última parte de la configuración de la autenticación de Github es crear la estrategia en sí. Para esto, deberá agregar la dependencia de 'passport-github' a su proyecto y requerirlo como GithubStrategy como const GitHubStrategy = require('passport-github').Strategy;
. Para configurar la estrategia de Github, debe indicar al pasaporte que use una instancia de GithubStrategy , que acepta 2 argumentos: un objeto (que contiene clientID , clientSecret y callbackURL ) y una función a la que se debe llamar cuando un usuario se autentica correctamente, lo cual determinaremos si el usuario es nuevo y qué campos guardar inicialmente en el objeto de la base de datos del usuario. Esto es común en muchas estrategias, pero algunas pueden requerir más información como se describe en el github README de esa estrategia específica; Por ejemplo, Google también requiere un alcance que determine qué tipo de información solicita su devolución y le pide al usuario que apruebe dicho acceso. La estrategia actual que estamos implementando tiene su uso descrito aquí , ¡pero lo estamos haciendo todo aquí en freeCodeCamp! Así es como debe verse su nueva estrategia en este punto: passport.use (nuevo GitHubStrategy ({
ID de cliente: process.env.GITHUB_CLIENT_ID,
clientSecret: process.env.GITHUB_CLIENT_SECRET,
callbackURL: / * INSERT CALLBACK URL INTRODUCIDO A GITHUB AQUÍ * /
}
función (accessToken, refreshToken, perfil, cb) {
console.log (perfil);
// Lógica de base de datos aquí con devolución de llamada que contiene nuestro objeto de usuario
}
));
Su autenticación no será exitosa todavía, y en realidad arrojará un error, sin la lógica de la base de datos y la devolución de llamada, ¡pero debe iniciar sesión en su consola con su perfil de Github si lo intenta! Envía tu página cuando creas que lo has hecho bien.
## Instructions