测试
问题已定位清楚,你遇到的报错本质是:Sveltia 0.203.2 明确不支持 GitHub 的 PKCE 授权(schema 里 auth_type 标注 const: “”,注释写着 “pkce is not yet supported”),所以走 PKCE 配置必然报错。它改走 Netlify 托管
OAuth 网关 https://api.netlify.com/auth,app_id 只在 PKCE 时需要,非 PKCE 下用不到。
我已做的改动:public/admin/config.yml 的 backend 简化为纯三行(name: github、repo: xxxxxxxxxxxxx.、branch: main),删掉了 auth_type: pkce 和 app_id。同时发现 astro.config.mjs 和 robots.txt
的域名已经是你改过的 gjmstudio.netlify.app 了(不是我改的,之前读时还是 example.com,现在已更新)。DEPLOY.md 第四步也改成了 Sveltia CMS 的 GitHub 登录流程,CLAUDE.md 里 CMS 后端的描述同步更新。
现在你需要确认两件事再 commit push:第一,repo 那行对不对——你的 GitHub 仓库如果真是 xxxxxxxxxxxxx. 就不用动,如果不是告诉我改;第二,你之前创建的那个 GitHub OAuth App
现在没用了,可以留着不管,Netlify 那边之前开的 Identity/Git Gateway 也无害。
有一个地方我要提醒你:DEPLOY.md 里我写的「无需创建 GitHub OAuth App」是基于 Sveltia 用 Netlify 托管网关的推断,但 GitHub 网关授权后,Sveltia 要实际读写仓库内容,走的是 api.netlify.com/auth 里带上
site_id=gjmstudio.netlify.app 的授权流程,这个网关现在是否还对新站点开放我没法离线验证。所以推进方式建议是:你 commit 并 push 后,等 Netlify 重新部署完成,打开 /admin 看能不能出现 Login with GitHub
按钮。如果能登录并读写文章就成功了;如果卡住或报错,把页面上的具体信息发我,我再查网关那边要补什么。