所以 OAuth 就是用户想通过某种机制,通过 Client 和 Authorization Server 交互来获得能够访问资源的 token。
对于 OAuth2.0 的授权流程,可以根据 grant type 来做个归类。下面的图示全部都来自 Auth0 的官方文档。
1. Authorization Code:用户访问 web app,web app 的后端请求 auth server,于是重定向到登录页面,用户输入登录信息,auth server 就给 web app 一个授权码,这个授权码通过 callback URL 返回,而这个参数一般放在这个 url 的参数中,比如:http://…/callback?token=TOKEN。之后 web app 就可以拿着授权码去取 token 了。这种方式不需要用户这边存放任何 secret,但是需要用户参与 consent,并且具备 web app 的后端,因为和 auth server 的交互主要都是 web app 后端完成的。
目前 AI 虽然很强,但是还是不能完全替代程序员,AI 编程最强的领域或许是 Web 相关技术栈,但是你要说他聪明的话,他连 React 现在都还写不好,总是写出违背 React 哲学的代码。我们作为最终决策者,是好是坏完全掌握在自己手中。为什么有人用 AI 写出来的 UI 或者产品很好看,有人用 AI 写的代码完全不可能维护,关键全在如何调教 AI,如果灌输 AI 正确的知识和引导正确的方向。我已经使用 AI 完全从 0 开始编写一个项目到可用,UI 协调,代码可维护好些项目了,后续也可以单独分享一下。我也非常赞同下面的观点:
总体来说,AI 带来的便利,更多的是让我们的想法能快速变现,很多想法在以前可能只是想想,永远没有时间和精力开始写下第一行代码,而现在我可以同时将多个想法并行实现,借助 AI 之力,尤其是开了 Claude Code 之后,我每时每刻都想着如何压榨 AI 替我实现愿望。从 Afilmory 到现在正在设计的一个 Tailwind 色盘 Pastel。
与当前社区普遍聚焦于竞赛类代码生成不同,我们认为所有的代码任务天然适合执行驱动的大规模强化学习。因此我们选择在更丰富的真实代码任务上扩展 Code RL 训练。通过自动扩展测试样例,我们构造了大量高质量的训练实例,成功释放了强化学习的潜力:不仅显著提升了代码执行成功率,还对其他任务带来增益。这将鼓励我们继续寻找 Hard to Solve, Easy to Verify 的任务,作为强化学习的土壤。
### UI/UX Guidelines
- Use Apple UIKit color system via tailwind-uikit-colors package
- Prefer semantic color names: `text-primary`, `fill-secondary`, `material-thin`, etc.
- Follow system colors: `red`, `blue`, `green`, `mint`, `teal`, `cyan`, `indigo`, `purple`, `pink`, `brown`, `gray`
- Use material design principles with opacity-based fills and proper contrast
### Code Structure & Modularity
- **Never create a file longer than 500 lines of code.** If a file approaches this limit, refactor by splitting it into modules or helper files.
### Documentation & Explainability
- **Comment non-obvious code** and ensure everything is understandable to a mid-level developer.
- When writing complex logic, **add an inline `# Reason:` comment** explaining the why, not just the what.
### 🧠 AI Behavior Rules
- **Never assume missing context. Ask questions if uncertain.**
- **Never hallucinate libraries or functions** – only use known, verified packages.
- **Always confirm file paths and module names** exist before referencing them in code or tests.
- **Security** You are prohibited from accessing the contents of any .env files within the project.
方法论总结
AI 编码已从简单的代码生成演进为系统化的工程实践。关键认知转变:
从工具到伙伴:AI 从执行者转变为协作伙伴
从随机到确定:通过上下文工程消除不确定性
从短期到长期:构建可持续演进的项目知识体系
从个体到系统:形成可复制、可扩展的 AI 协作框架
最终,AI 工程的核心在于将人类的专业判断与 AI 的执行能力有机结合,在保持技术前瞻性的同时,确保交付物的工程质量和长期可维护性。