inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

카카오 로그인하기 도중 에러 질문입니다.

2986

당근이

작성한 질문수 3

0

E:\프로그래밍\Nodejs_Master_Project\9.Express로SNS서비스만들기\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 (E:\프로그래밍\Nodejs_Master_Project\9.Express로SNS서비스만들기\node_modules\passport-oauth2\lib\strategy.js:83:34)

    at new Strategy (E:\프로그래밍\Nodejs_Master_Project\9.Express로SNS서비스만들기\node_modules\passport-kakao\dist\Strategy.js:33:31)

    at module.exports (E:\프로그래밍\Nodejs_Master_Project\9.Express로SNS서비스만들기\passport\kakaoStrategy.js:7:18)

    at module.exports (E:\프로그래밍\Nodejs_Master_Project\9.Express로SNS서비스만들기\passport\index.js:27:5)

    at Object.<anonymous> (E:\프로그래밍\Nodejs_Master_Project\9.Express로SNS서비스만들기\app.js:38:1)

    at Module._compile (internal/modules/cjs/loader.js:1063:30)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)

    at Module.load (internal/modules/cjs/loader.js:928:32)

    at Function.Module._load (internal/modules/cjs/loader.js:769:14)

    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)

[nodemon] app crashed - waiting for file changes before starting...

npm start로 실행하면 다음과 같이 passport-oauth2에서 오류가 난다고 하는데,

강의에서는 이번에는 accessToken, refreshToken 와 같은 oauth2에 관련된 것은 사용하지 않는다고 들었습니다.

해당 오류는 어떻게 해결해야 하나요?

mysql mongodb nodejs Sequelize

답변 4

0

ysm6514

저도 같은 에러가 발생했는데,

.env 파일에 KAKAOID 오타 발생해서 KAKAO_ID로 수정해서 해결하였습니다.

0

TORI

동일한 내용으로 검색해서 들어왔습니다. 

작년에 올리셨지만 이후 들어오실 분께 도움될까해서 남깁니다.

저는 dotenv.config()이렇게 했을때 .env 파일을 읽지 못하는지 다른 환경변수도 읽지 못해서 아래와 같이 수정해서 사용했습니다.

dotenv.config({path: path.join(__dirname, '/.env')});

0

제로초(조현영)

process.env.KAKAO_ID를 콘솔로 찍어서 들어있는지 확인해보세요.

0

당근이

다음과 같이 나옵니다.

$ process.env.KAKAO_ID

bash: process.env.KAKAO_ID: command not found

이 경우에는 어떻게 해결해야 할까요?

0

제로초(조현영)

KakaoStrategy에서 clientId 부분 넣으셨나요?

0

당근이

passport.use에서 생성한 KakaoStrategy객체에서 clientID와 callbackURL 만들었습니다.

KakaoStrategy 부분은 다음과 같이 작성하고 돌렸는데, 아직도 동일한 오류가 발생합니다.

const passport = require('passport');
const KakaoStrategy = require('passport-kakao').Strategy;

const User = require('../models/user');

module.exports = () => {
    passport.use(new KakaoStrategy({
        // 카카오라는 서비스로 로그인을 하도록 구현을 하는 것이기 때문에 설정을 해주어야 함
        // developers.kakao.com에서 로그인 해야함 -> 내 application들어가서 애플리케이션을 추가함
        clientIDprocess.env.KAKAO_ID,
        callbackURL'/auth/kakao/callback',
        // accessToken, refreshToken -> 토큰으로 직접 카카오에게 요청을 보낼 수 있음 -> OAUTH2
        // 이 앱에서는 profile만 받아옴
    }, async(accessTokenrefreshTokenprofiledone=> {
        console.log('kakao profile'profile);
        try{
            const exUser = await User.findOne({
                // 카카오로 가입한 사람 check
                where: {snsIdprofile.idprovider'kakao' },
            });
            // 가입한 사람이 있으면 성공
            if(exUser){
                done(nullexUser);
            }
            // 가입한 사람이 없으면 회원가입
            else{
                const newUser = await User.create({
                    emailprofile._json && profile._json.kakao_account_email,
                    nickprofile.displayName,
                    snsIdprofile.id,
                    provider'kakao',
                });
                done(nullnewUser);
            }
        }
        catch(error){
            console.error(error);
            done(error);
        }
    }));
};

리눅스 노드 설치시 패키지

0

159

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

905

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2281

2

a[title] 질문드립니다

0

375

1

리뉴얼 강의 및 공부 방법

0

581

1

jwt decode

0

1128

1

node.js 교과서 3판 질문드립니다

0

391

1

passport와 jwt

0

432

1

리뉴얼 강의

0

417

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

353

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

481

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

505

2

nunjucks res.render('error'); 작동을 안합니다.

0

511

1

질문있습니다.

0

346

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3535

1

수업자료는 어디있나요?

0

366

1

질문 있습니디

0

235

1

multer 사용시 file 외 name값은 못받나용?

0

416

1

코드 중복 부분 질문드립니다.

0

298

1

api 만드는 이유 질문드립니다.

0

286

1

Strategy의 done에 대해 질문드립니다.

0

361

1

안녕하세요 fs 권한 관련 질문드립니다

0

446

1

시퀄라이즈 연결질문...

0

492

2

res.setHeader vs res.cookie

0

1785

3