nodejs heroku + oauth 배포

sangeun jo·2022년 3월 13일
0
post-custom-banner
  1. oauth clinet id를 생성한다.

승인된 자바 스크립트 원본
https://[my-app-name].herokuapp.com

승인된 리디렉션 URI
https://[my-app-name].herokuapp.com/user/login/callback

  1. passport strategy 만들기

auth/passport.js

const passport = require('passport');
const GoogleStrategy = require("passport-google-oauth2").Strategy;
const privatekey = require("./client.json"); //client id json 파일 

passport.serializeUser((user.id, done) => {
    done(null, user.id); 
})

passport.deserializeUser((id, done) => {
    done(null, id)
})

passport.use(
    new GoogleStrategy(
        {
            clientID: privatekey.web.client_id , 
            clientSecret:privatekey.web.client_secret, 
            callbackURL: "https://{my-app-name}.herokuapp.com/user/login/callback", 
            passReqToCallback: true, 
        }, 
        function (request, accessToken, refreshToken, profile, done) {
            console.log(profile);
            console.log(accessToken);

            return done(null, profile);
        }
    )
)

module.exports = passport;
  1. dotenv로 포트 설정하기
    index.js
const dotenv = require('dotenv'); 
dotenv.config()
...
app.listen(process.env.PORT, function(){
  console.log('server on! https://{my-app-name}.herokuapp.com:'+process.env.PORT);
});

...

heroku는 랜덤하게 포트를 설정하기 때문에 사용자가 직접 포트번호를 정해주고 싶으면 dotenv를 통해 설정해주어야한다.
아무 문제 없는데 헤로쿠 배포 후 페이지가 정상적으로 배포되지 않았다면 포트번호 설정을 잘못하지는 않았는지 체크해보야야한다.

profile
코더가 아니라 개발자가 되자
post-custom-banner

0개의 댓글