승인된 자바 스크립트 원본
https://[my-app-name].herokuapp.com
승인된 리디렉션 URI
https://[my-app-name].herokuapp.com/user/login/callback
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;
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를 통해 설정해주어야한다.
아무 문제 없는데 헤로쿠 배포 후 페이지가 정상적으로 배포되지 않았다면 포트번호 설정을 잘못하지는 않았는지 체크해보야야한다.