본문 바로가기
  • 삽질하는 자의 블로그
메인-프로젝트/Next.js - 심리검사와 강아지 프로젝트

10. [오류] 배포와 Oauth

by 이게뭐당가 2023. 2. 9.

배포를 했더니 Oauth 가 먹히지 않는다.

 

또다시 401 오류다.

 

문제는 둘중 하나일것이다.

1. 구글 어카운트에서 URI 등록을 하지 않았거나

2. 환경변수 세팅이 잘못되어, 등록된 Oauth 에 승인된 클라이언트 ID, PASSWORD 가 잘못되었던가

 

 

URI 는 분명 등록 했으니 1번은 제외

 

그렇다면 환경변수의 문제가 있겠다.

 

현재 이 프로젝트는 .env 를 통해, 환경변수를 등록하고 사용했다.

하지만 분명히 기억하건데, next.config.js 를 통해 환경변수를 등록하는 것이 가장 올바른 길 임을 알고있다.

 

결국 .env 를 버리고 next.config.js 에 적절한 phase 를 넣어 코드를 집어넣었다.

 

const { PHASE_DEVELOPMENT_SERVER } = require("next/constants");

/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true,
};

module.exports = nextConfig;

module.exports = (phase) => {
  if (phase === PHASE_DEVELOPMENT_SERVER) {
    return {
      env: {
        GOOGLE_CLIENT_ID: "...",
        GOOGLE_CLIENT_SECRET: "...",
        SECRET: "...",
        MONGODB_URL: "...",
      },
    };
  }
  return {
    env: {
        GOOGLE_CLIENT_ID: "...",
        GOOGLE_CLIENT_SECRET: "...",
        SECRET: "...",
        MONGODB_URL: "...",
      },
  };
};

 

이제 잘된다.

 

이유가 뭔지 모르겠다...

댓글