You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无第三方Cookie的现代浏览器跨站认证方案咨询

跨独立域名免交互同步认证的现代浏览器适配方案

针对多独立域名下的登录态同步需求,结合当前浏览器隐私政策限制,以下是几个适配现代浏览器的可行方案:

1. Web Crypto API 跨域令牌加密交换方案

基于浏览器原生的Web Crypto API实现端到端加密的令牌同步,无需依赖第三方服务或重定向:

  • 核心流程:
    • 每个域名的前端在用户首次访问时,通过crypto.subtle.generateKey()生成RSA非对称密钥对,将公钥提交至自身后端存储(关联用户的匿名标识或已登录ID)。
    • 用户在A域名登录后,A域名后端生成包含用户身份的短有效期令牌(如JWT),遍历所有需要同步的目标域名,用对应用户的公钥分别加密令牌。
    • 目标域名后端可主动拉取加密令牌,或当用户访问该域名时,后端向A域名请求对应加密令牌并返回给前端。
    • 目标域名前端用本地存储的私钥解密令牌,验证通过后自动写入会话凭证(如Session Storage或Cookie),完成登录。
  • 适配性:支持Chrome、Firefox、Safari 10.1+等所有现代浏览器。
  • 优缺点:无第三方依赖,用户无感知;需后端额外实现密钥管理、令牌加密分发逻辑,首次访问有轻微密钥生成开销。

2. FedCM 原生联邦认证方案

利用浏览器原生的Federated Credential Management(FedCM)API,将主域名作为身份提供者(IdP),其他独立域名作为依赖方(RP)实现静默认证:

  • 核心流程:
    • 配置主域名作为IdP,实现FedCM要求的标准端点:.well-known/web-identity配置文件、身份凭证发放端点等。
    • 各独立域名前端在用户访问时,调用navigator.credentials.get({ federated: { providers: [{ url: '主域名IdP地址' }] } }),浏览器将在后台向IdP发起静默请求,获取用户已登录的身份凭证。
    • 依赖方后端验证凭证有效性后,直接为用户创建本地会话,完成自动登录。
  • 适配性:Chrome 108+、Edge 108+完全支持,Safari 16.4+开始支持,需为旧版浏览器做降级处理。
  • 优缺点:浏览器原生支持,用户体验最优;IdP配置需遵循规范,部分旧版浏览器需兼容方案。

3. 静默iframe优化版重定向方案

对传统重定向方案做体验优化,通过隐藏iframe完成令牌传递,避免页面跳转:

  • 核心流程:
    • 用户在A域名登录后,前端创建隐藏iframe,指向目标域名的临时认证接口(携带一次性有效令牌)。
    • 目标域名接口验证令牌有效性后,为用户设置会话Cookie,通过postMessage通知A域名前端同步完成。
    • 若用户后续访问未同步的域名,该域名前端先创建隐藏iframe指向主域名的验证接口,获取有效凭证后自动完成登录。
  • 适配性:兼容所有现代浏览器,无版本限制。
  • 优缺点:兼容性拉满;仍需处理跨域通信和令牌有效期逻辑,但用户无明显感知。

通用注意事项

  • 所有方案必须基于HTTPS传输,避免令牌或密钥泄露。
  • 令牌需设置短有效期,并配合刷新机制,降低安全风险。
  • 针对Safari的隐私存储政策,建议优先使用Session Storage存储会话凭证,或定期触发静默同步避免存储被清除。

内容的提问来源于stack exchange,提问作者luchaninov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 16:43:12