카테고리 없음

코드

minquu 2021. 6. 25. 11:05
반응형
const passport = require('passport')
const express = require('express')
const NaverStrategy = require('passport-naver-v2').Strategy

const PORT = process.env.PORT || 3030
const app = express()

/**
 * passport setting
 */
passport.use(
    new NaverStrategy(
        {
            clientID: "aTJQYHhfWsG8byShhjS8",
            clientSecret: "P8I3wIA28J",
            callbackURL: 'http://localhost:3030/api/naver/login/callback',
        },
        (accessToken, refreshToken, params, profile, done) => {
            // 계정 관련 구현 부분

            return done(null, profile._json)
        }
    )
)
passport.serializeUser(function (user, done) {
    done(null, user)
})
passport.deserializeUser(function (obj, done) {
    done(null, obj)
})

/**
 * express app setting
 */
app.use(passport.initialize())

app.get('/login/reprompt', passport.authenticate('naver', { authType: 'reprompt' }))
app.get('/api/naver/login', passport.authenticate('naver', { state: 'sampleState' }))
app.get('/api/naver/login/callback', passport.authenticate('naver'), (req, res) => {
    res.send('result :' + JSON.stringify({ state: req.query.state, user: req.user }))
})

/**
 * run server
 */
app.listen(PORT, () => {
    console.log(`💡 Server is running on ${PORT}`)
})
반응형