
这是我 Next.js 项目模板初始的登录方式,并非我所期望的。我希望集成常用的 GitHub 和 Google 登录功能,这篇文章将分享如何借助 AI 助手,基本无需手写代码,仅通过描述需求来实现 GitHub 授权登录。
如何开始?
首先,我并未直接要求 Claude 实现功能,而是先让它提供完整的集成流程。这样我能对整个工作有个清晰的认识。
提问:
我想让这个项目集成github登录,我该怎么做,把流程告诉我
回答:
根据我查看的现有 Google SSO 实现,我来给你提供完整的GitHub登录集成流程:
第一步:在GitHub上创建OAuth应用
...
第二步:数据库迁移(添加GitHub账号ID字段)
...
第三步:创建GitHub SSO客户端
...
第四步:更新常量配置
...
第五步:添加功能开关
...
第六步:创建GitHub OAuth路由
...
第七步:创建GitHub回调处理
...
第八步:更新UI添加GitHub登录按钮
...
第九步:配置环境变量
...
第十步:测试
...
需要安装的依赖、注意事项等等这里省略
AI 辅助实现过程
看到这个流程设计得有模有样,但我并不打算完全交由 Claude 自动执行。我要求它按照上述流程逐步推进,并在需要我手动操作时明确告知我。

接着,Claude 会提醒我提供 Client ID 和 Client Secret。出于安全考虑,我不会直接提供这些敏感信息,而是告诉它只需在环境变量文件中创建对应的键(Key),值(Value)由我自己来填写。因为通常 Claude 无法读取 .env 文件的内容,除非变量名以 PUBLIC_ 为前缀。

当我在 .env 文件中填写完必要的值后,Claude 便继续按流程执行。在整个交互过程中,它会频繁弹出 Do you want to proceed? 的确认提示。这个设计对我来说很不错,如果中间步骤出现问题,我可以在第三个选项处输入指令来纠正;若一切正常,只需回车或选择“Yes”即可继续。
在执行列表中,每完成一项任务,该项便会变暗。如果想查看当前正在执行任务的详细信息,可以按下 Ctrl+o 键。

功能测试与问题排查
实现完成后,Claude 会请求启动开发服务器,并指引我访问特定网址来测试集成效果。此时,可以看到一个后台任务正在运行。
访问页面后,操作一下看看实现效果。

点击 “Sign in with GitHub” 按钮,会跳转到 GitHub 的授权页面。点击授权后,页面应成功重定向回我们的项目地址。

看起来登录成功了,并且进入了后台界面,但右上角显示了错误提示。

仅凭这个错误提示很难定位问题。我们可以点击左下角的 1 issue 按钮,或者直接打开浏览器控制台查看详细错误信息,然后将错误信息复制给 Claude 来解决。
如果你不熟悉代码,可以直接让 Claude 修复。但我通常会先询问错误产生的原因,然后再让它执行修复。这样有助于我更深入地了解项目代码结构,为后续可能遇到的、Claude 无法独立解决的问题做好准备,届时我可以更有针对性地配合它一起解决。

原因很快找到了:GitHub 的回调处理方式与项目原有的 Google 回调实现不一致。Claude 建议保持现有架构,重写 GitHub 的回调逻辑。我采纳了这个建议。


优化与收尾
经过 Claude 的修改,实测登录功能已能正常使用。但我发现,在点击 GitHub 登录按钮到成功登录并重定向到后台的过程中,界面会短暂闪过一个错误提示,虽然不影响最终登录结果。既然发现了问题,还是让 Claude 一并解决。我将报错界面快速截图,然后交给 Claude 分析并修复。


这里我通过 @ 符号指向了具体的文件。建议读者在使用 Claude 或其他 AI 工具时,也尽量明确指定需要修改的具体文件或位置。如果每次都让 AI 在整个项目中检索问题点,当项目文件过大时,可能导致其“降智”或产生“幻觉”,给出不准确的结果。同时,精准定位也能节省一些 token,降低模型使用的开销。
总结
至此,GitHub 登录功能已顺利集成。如果读者在操作中遇到其他问题,只需将问题描述复制给 AI,它通常都能帮你解决。如果不行,可以尝试重新描述问题,或更精确地定位问题后再次提问。
按照同样的思路和方法,你还可以继续集成 Google 账号登录,有兴趣的读者可以自行用 AI 尝试探索。整个过程中,合理利用 AI 助手能极大提升开发效率,尤其是在处理像 OAuth 配置这类有固定模式但又涉及多个环节的 Node.js 开发任务时。如果你想了解更多关于现代前端工程化或 开源实战 的案例,欢迎来 云栈社区 交流讨论。