#.gitignore ########### node_modules keys.js #package.json ############ { "name": "server", "version": "1.0.0", "description": "", "main": "index.js", "engines": { "node": "12.16.3", "npm": "6.14.4" }, "scripts": { "start": "node index.js", "dev": "nodemon index.js" }, "author": "", "license": "ISC", "dependencies": { "express": "^4.17.1", "nodemon": "^2.0.4", "passport": "^0.4.1", "passport-google-oauth20": "^2.0.0" } }
const express = require('express'); require('./services/passport'); const app = express(); require('./routes/authRoutes')(app); const PORT = process.env.PORT || 5000; app.listen(PORT);
services\passport.js
const passport = require('passport'); const GoogleStrategy = require('passport-google-oauth20').Strategy; const keys = require('../config/keys'); passport.use( new GoogleStrategy( { clientID: keys.googleClientID, clientSecret: keys.googleClientSecret, callbackURL: '/auth/google/callback' }, (accessToken, refreshToken, profile, done) => { console.log('access token', accessToken); console.log('refresh token', refreshToken); console.log('profile', profile); } ) );
config\keys.js
module.exports = { googleClientID: '', googleClientSecret: '', };
routes\authRoutes.js
const passport = require('passport'); module.exports = app => { app.get( '/auth/google', passport.authenticate('google', { scope: ['profile', 'email'] }) ); app.get('/auth/google/callback', passport.authenticate('google')); };
No comments:
Post a Comment