fedcm用于复用已登录的联合身份,storage access api用于iframe中临时获取第一方存储权限;二者作用不同、不可互换但可协同,需按场景选用。
第三方 cookie 被主流浏览器逐步禁用后,联合登录和跨域身份识别不能靠“自动携带 cookie”实现。fedcm 和 storage access api 是目前 chrome 等浏览器官方推荐、仍在积极支持的两个核心替代路径,但它们作用不同、适用场景明确,需按需选用。
FedCM:用于免密复用已登录的联合身份
FedCM 不是登录入口,而是“读取已有会话”的凭证管理接口。它只在用户已登录 Google 或 Microsoft 等已注册 IdP 的前提下生效,不触发弹窗、不处理密码输入。
- 必须运行在 HTTPS 环境(localhost 是唯一例外)
- 页面响应头需声明:Permissions-Policy: federated-credentials-get=(self "https://accounts.google.com")
- 调用必须由用户手势触发(如按钮点击),不能在页面加载时自动执行
- IdP 必须已在
.well-known/web-identity发布有效配置,且已完成浏览器级注册(开发者无法手动注册)
Storage Access API:用于 iframe 场景下临时获取第一方存储权限
当你的服务以插件形式嵌入他人网站(例如聊天小部件、支付按钮),且需要在 iframe 中读写自身域名的 Cookie 或 localStorage 时,Storage Access API 是关键桥梁。
使用tbot机器ID身份文件配合tsh CLI,通过Teleport访问控制SSH登录托管主机或执行远程命令。
- 调用 document.requestStorageAccess() 可向用户申请临时访问权限
- 用户授权后,iframe 内脚本即可像在顶层页面一样使用
document.cookie或localStorage - 该权限仅在当前会话有效,关闭标签页即失效;刷新后需重新申请
- 仅适用于明确由用户主动交互触发的场景(如点击“打开聊天”),不能静默调用
两者不可互换,但可协同使用
FedCM 解决“谁已登录”,Storage Access API 解决“如何在嵌入场景中安全读写自己的状态”。例如:一个嵌入 b.com 的 a.com 聊天插件,可先用 Storage Access API 获取 a.com 的会话 Cookie,再结合 FedCM 快速确认当前用户是否已通过 Google 登录过 a.com —— 这样既避开第三方 Cookie,又避免重复登录。
其他方案如基于 CORS + credentials: 'include' 的后端直连、或升级为 PKCE 授权码流,也应纳入整体架构设计,而非只依赖前端 API。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










