Decap CMS OAuth 설정 체크리스트
Decap CMS OAuth 설정 체크리스트
이 저장소는 GitHub Pages 정적 사이트라서 /admin/ 페이지에서 글을 쓰려면 GitHub OAuth 프록시가 하나 필요합니다.
아래 순서대로 하면 됩니다.
1. GitHub OAuth App 만들기
GitHub에서 다음 경로로 이동:
Settings > Developer settings > OAuth Apps > New OAuth App
입력값:
Application name:Yerim Oh CMSHomepage URL:https://ye-rim-oh.github.ioApplication description: 비워도 됨Authorization callback URL:https://YOUR-WORKER-SUBDOMAIN.workers.dev/callback
생성 후 확보할 값:
Client IDClient Secret
2. Cloudflare Worker 배포
작업 폴더:
cd C:\Users\admin\ye-rim-oh.github.io\oauth-proxy
필요 명령:
npm install
npx wrangler login
.dev.vars.example을 복사해서 .dev.vars 생성:
Copy-Item .dev.vars.example .dev.vars
notepad .dev.vars
.dev.vars에 방금 받은 값 입력:
GITHUB_CLIENT_ID=...
GITHUB_CLIENT_SECRET=...
배포:
npx wrangler deploy
배포가 끝나면 이런 URL이 나옵니다:
https://YOUR-WORKER-SUBDOMAIN.workers.dev
3. Decap CMS 설정 반영
배포된 Worker URL을 admin/config.yml에 반영:
cd C:\Users\admin\ye-rim-oh.github.io
powershell -ExecutionPolicy Bypass -File .\scripts\set-decap-worker-url.ps1 "https://YOUR-WORKER-SUBDOMAIN.workers.dev"
4. 정상 동작 확인
- 브라우저에서
https://YOUR-WORKER-SUBDOMAIN.workers.dev접속 - JSON에
ok: true가 보이면 프록시 정상 https://ye-rim-oh.github.io/admin/접속Login with GitHub클릭- 로그인 후
Posts,Working Papers컬렉션이 보이면 완료
5. 막히는 지점
GitHub에서 callback URL 오류
OAuth App의 callback URL이 Worker의 /callback과 정확히 같아야 합니다.
로그인은 되는데 CMS가 저장을 못 함
admin/config.yml의repo가 맞는지 확인- Worker가 다른 GitHub 계정 권한으로 인증된 건 아닌지 확인
- 저장소가 public이면 현재
public_repo스코프로 충분함
Worker 배포 후 URL이 바뀜
새 URL로 다시 scripts/set-decap-worker-url.ps1만 실행하면 됩니다.