内容提要
Vercel 推出 Project Connections 功能,允许同一团队内的应用直接读取其他项目的功能标志,无需手动管理 SDK 密钥。连接页面可查看和管理项目间的读取权限,连接后通过部署身份认证,本地开发可用 vercel env pull 获取 OIDC 令牌。连接授予所有环境的只读权限,由消费方部署决定标志环境。可在 Flags 设置页或 CLI 管理连接,撤销访问无需重新部署。该功能适用于所有套餐,需特定 SDK 版本。
延伸解读
从密钥管理到身份认证的转变
此前跨项目共享功能标志需要手动复制服务器 SDK 密钥到环境变量并持续维护,存在密钥泄露和轮换负担。Project Connections 改用部署身份认证,消费方项目通过自身部署身份读取源项目标志,本地开发则用 vercel env pull 获取 OIDC 令牌。这一变化减少了密钥分发环节,但认证依赖 Vercel 平台的身份机制,团队需理解部署身份与本地令牌的获取方式。
只读权限与环境由消费方决定
连接授予的是跨所有环境的只读访问权限,消费方部署决定实际评估哪个环境的标志,例如生产部署读取生产标志。这意味着源项目无需为不同环境分别授权,但消费方需自行确保部署环境与预期一致。撤销访问无需重新部署,适合快速收回权限,但也要求团队在 Connections 页面或 CLI 中主动管理连接列表,避免遗留不必要的读取关系。
接入前提与版本要求
该功能适用于所有套餐,但需注意 SDK 版本门槛:使用 @flags-sdk/vercel 需 1.6.0 或更高,直接使用核心库 @vercel/flags-core 需 1.11.0 或更高,通过 CLI 管理连接则需 Vercel CLI 63.0.0 或更高。消费方应用需在代码中创建适配器并指定源项目 ID。升级前应核对现有依赖版本,避免因版本不足导致连接无法生效。
Q&A
Vercel 的 Project Connections 是什么?它解决了什么问题?
Project Connections 是 Vercel 推出的功能,允许同一团队内的应用直接读取其他项目的功能标志,无需手动管理 SDK 密钥。它解决了以往跨项目共享标志时需要复制服务器 SDK 密钥到环境变量并手动管理的麻烦。
如何在不同项目间共享功能标志?需要复制 SDK 密钥吗?
不需要复制 SDK 密钥。通过 Project Connections,连接的项目使用部署身份进行认证。在消费方应用中,使用源项目的 ID 创建适配器即可评估标志。
Project Connections 的权限范围是怎样的?连接后能修改标志吗?
连接授予所有环境的只读权限,不能修改标志。消费方部署决定标志环境(例如生产部署评估生产标志)。
如何在本地开发时使用 Project Connections?
本地开发时,可以使用 vercel env pull 获取项目的 OIDC 令牌,从而进行认证。
如何管理 Project Connections?撤销访问需要重新部署吗?
可以在 Flags 设置页的 Connections 页面管理,或使用 CLI 命令 vercel flags connections。撤销访问无需重新部署。
使用 Project Connections 有哪些版本要求?所有套餐都可用吗?
Project Connections 适用于所有套餐。需要 @flags-sdk/vercel 1.6.0 或更高版本,或 @vercel/flags-core 1.11.0 或更高版本(直接使用核心库时)。通过 CLI 管理连接需要 Vercel CLI 63.0.0 或更高版本。