Skip to content

Commit d305d68

Browse files
committed
googleAuth
1 parent fb2cfdb commit d305d68

File tree

8 files changed

+364
-50
lines changed

8 files changed

+364
-50
lines changed

Diff for: package-lock.json

+145
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: package.json

+3
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@
4343
"jsonwebtoken": "^9.0.0",
4444
"nock": "^13.3.0",
4545
"nodemailer": "^6.9.1",
46+
"passport": "^0.6.0",
47+
"passport-google-oauth2": "^0.2.0",
4648
"pg": "^8.9.0",
4749
"pg-hstore": "^2.3.4",
4850
"redis": "^4.6.4",
@@ -60,6 +62,7 @@
6062
"@types/jsonwebtoken": "^9.0.1",
6163
"@types/nodemailer": "^6.4.7",
6264
"@types/supertest": "^2.0.12",
65+
"@types/swagger-jsdoc": "^6.0.1",
6366
"@types/swagger-ui-express": "^4.1.3",
6467
"@typescript-eslint/eslint-plugin": "^5.50.0",
6568
"@typescript-eslint/parser": "^5.50.0",

Diff for: src/app.ts

+15-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,21 @@ import {config} from 'dotenv'
33
import swaggerDocs from './docs/swagger'
44
import connectdb from './db/database'
55
import authRoutes from './routes/authroutes'
6-
import profileRoutes from "./routes/profileroutes"
6+
import profileRoutes from './routes/profileroutes'
7+
import passport from 'passport'
8+
import session from 'express-session'
9+
710
const app: Application = express()
11+
import './config/googlePassport.config'
12+
app.use(
13+
session({
14+
secret: `process.env.SECRET`,
15+
resave: false,
16+
saveUninitialized: true,
17+
}),
18+
)
19+
app.use(passport.initialize())
20+
app.use(passport.session())
821

922
config()
1023
//middleware section
@@ -23,4 +36,4 @@ connectdb().then(() => {
2336
// change this to just port in case someone is listening from 127.0.0.1 instead of localhost
2437
})
2538

26-
export default app
39+
export default app

Diff for: src/config/googlePassport.config.ts

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
const passport = require('passport')
2+
const GoogleStrategy = require('passport-google-oauth2').Strategy
3+
require('dotenv').config()
4+
passport.use(
5+
new GoogleStrategy(
6+
{
7+
clientID: process.env.CLIENT_ID,
8+
clientSecret: process.env.CLIENT_SECRET,
9+
callbackURL: process.env.CallBackURL,
10+
passReqToCallBack: true,
11+
},
12+
function (request, accessToken, refreshToken, profile, done) {
13+
return done(null, profile)
14+
},
15+
),
16+
)
17+
passport.serializeUser((user, done) => {
18+
done(null, user)
19+
})
20+
passport.deserializeUser((user, done) => {
21+
done(null, user)
22+
})

0 commit comments

Comments
 (0)