본문 바로가기
졸업작품

Oauth, naverStrategy 에러

by 세인트킴 2024. 3. 23.

OAuth 에러메세지

Users/SaintKim/Documents/graduate/node_shop/node_modules/passport-oauth2/lib/strategy.js:83
  if (!options.clientID) { throw new TypeError('OAuth2Strategy requires a clientID option'); }
                           ^

TypeError: OAuth2Strategy requires a clientID option
    at Strategy.OAuth2Strategy (/Users/SaintKim/Documents/graduate/node_shop/node_modules/passport-oauth2/lib/strategy.js:83:34)
    at new Strategy (/Users/SaintKim/Documents/graduate/node_shop/node_modules/passport-kakao/dist/Strategy.js:33:31)
    at module.exports (/Users/SaintKim/Documents/graduate/node_shop/passport/kakaoStrategy.js:6:16)
    at module.exports (/Users/SaintKim/Documents/graduate/node_shop/passport/index.js:29:3)
    at Object.<anonymous> (/Users/SaintKim/Documents/graduate/node_shop/app.js:20:1)
    at Module._compile (node:internal/modules/cjs/loader:1356:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1414:10)
    at Module.load (node:internal/modules/cjs/loader:1197:32)
    at Module._load (node:internal/modules/cjs/loader:1013:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:128:12)

OAuth를 사용할 때 이전에는 경험하지 못했던 에러가 발생했는데, clientID를 필요로 한다는 것이였다. 메세지를 자세히 읽어보면, passport/kakaoStrategy.js:6:16에서 오류가 발생했고, 그로인해 index.js:29:3에서도 연속적인 오류가 발생한다는 메세지이다. 그로 인해 app.js:20:1에서도 오류가 발생해서 프로그램을 수정해야 한다는 뜻이다.

오류 해결

clientID: process.KAKAO_ID에서 clientID: process.env.KAKAO_ID를 추가해주면 오류가 해결된다.


naverStrategy 에러메세지

/Users/SaintKim/Documents/graduate/node_shop/passport/naverStrategy.js:6
  passport.use(new NaverStrategy({
                   ^

ReferenceError: NaverStrategy is not defined
    at module.exports (/Users/SaintKim/Documents/graduate/node_shop/passport/naverStrategy.js:6:20)
    at module.exports (/Users/SaintKim/Documents/graduate/node_shop/passport/index.js:30:3)
    at Object.<anonymous> (/Users/SaintKim/Documents/graduate/node_shop/app.js:20:1)
    at Module._compile (node:internal/modules/cjs/loader:1356:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1414:10)
    at Module.load (node:internal/modules/cjs/loader:1197:32)
    at Module._load (node:internal/modules/cjs/loader:1013:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:128:12)
    at node:internal/main/run_main_module:28:49

네이버 로그인 전략도 문제를 일으킨다. 이 부분은 위에 const naverStrategy로 선언했는데, 선언문에 쓰인 객체로서는 NaverStrategy로 해서 오타때문에 문제가 발생했다. 객체로 부를 때는 대문자를 써야 하는줄 알았는데, 모듈로 불러온 것을 새로운 객체로 만든다는 의미로 같은 naverStrategy를 사용해야 오류가 발생하지 않는다는 것을 알았다.


passport 선언 되지 않음 에러 메세지

/Users/SaintKim/Documents/graduate/node_shop/app.js:51
app.use(passport.initialize())
        ^

ReferenceError: passport is not defined
    at Object.<anonymous> (/Users/SaintKim/Documents/graduate/node_shop/app.js:51:9)
    at Module._compile (node:internal/modules/cjs/loader:1356:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1414:10)
    at Module.load (node:internal/modules/cjs/loader:1197:32)
    at Module._load (node:internal/modules/cjs/loader:1013:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:128:12)
    at node:internal/main/run_main_module:28:49

passport라이브러리를 불러오지 않아서 발생하는 오류로서 간단하게 const passport = require('passport')를 해주면 오류가 해결된다.

 


passport-naver-v2 에러 

passport-naver를 사용할 때, 인터넷을 보고 passport-naver가 오류가 많아서 v2로 다운받으라는 말을 듣고 v2로 했는데, 프로그램에서는 v2를 인식하지 못했다.(아마도 내 잘못)그래서 passport-naver-v2 -> passport-naver로 변경해서 오류를 해결했다.

 

 

'졸업작품' 카테고리의 다른 글

auth/join 에러 & logout 에러  (0) 2024.03.20