메인-프로젝트/Next.js - 심리검사와 강아지 프로젝트
10. [오류] 배포와 Oauth
이게뭐당가
2023. 2. 9. 11:22
배포를 했더니 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: "...",
},
};
};
이제 잘된다.
이유가 뭔지 모르겠다...