Chrome第三方Cookie弃用后,AMP页面结合FedCM实现One Tap Login的方案咨询
1. AMP页面结合FedCM实现One Tap Login的可行性及实现方法
可行,FedCM是Google推出的无第三方Cookie身份验证方案,专门适配AMP这类受限运行环境,可实现类One Tap的无感知登录体验。
实现步骤
前提条件
- 你的身份服务已兼容FedCM规范
- AMP页面已启用HTTPS(强制要求)
前端AMP页面集成
- 在页面
<head>中引入FedCM组件:
<script async custom-element="amp-fedcm" src="https://cdn.ampproject.org/v0/amp-fedcm-0.1.js"></script>
- 在页面合适位置添加FedCM登录按钮(启用One Tap模式):
<amp-fedcm data-client-id="你的OAuth2客户端ID" data-login-url="https://你的身份服务域名/fedcm/login" data-provider-name="你的身份服务名称" data-branding-logo="https://你的域名/logo.png" data-use-one-tap="true" > </amp-fedcm>
核心属性说明:
data-client-id:在身份提供商平台(如Google Cloud Console)注册的客户端IDdata-login-url:身份服务处理FedCM登录请求的端点data-use-one-tap="true":开启自动登录提示的One Tap模式
后端身份服务配置
- 托管FedCM清单文件:在身份服务域名根目录下放置
/.well-known/fedcm.json,示例内容:
{ "accounts_endpoint": "https://你的身份服务域名/fedcm/accounts", "id_token_endpoint": "https://你的身份服务域名/fedcm/id-token", "client_metadata_endpoint": "https://你的身份服务域名/fedcm/client-metadata", "branding": { "background_color": "#ffffff", "color": "#000000" } }
- 实现登录端点逻辑:
data-login-url指定的端点需处理FedCM的账户查询、身份验证请求,最终返回符合规范的ID Token,AMP页面会自动完成会话同步。
2. AMP页面One Tap Login弃用后的替代途径
Google官方已弃用依赖第三方Cookie的AMP One Tap方案,目前唯一合规且官方推荐的替代方案就是使用FedCM实现无Cookie的One Tap登录,即上文所述的方案。
核心原因:
- 原One Tap依赖第三方Cookie跟踪用户身份,在Chrome第三方Cookie弃用后无法正常运行
- FedCM通过浏览器原生API实现身份验证,无需第三方Cookie,符合隐私合规要求
- AMP官方已原生支持
amp-fedcm组件,完全适配AMP页面的运行限制
内容的提问来源于stack exchange,提问作者Nitesh Kumar
相关产品推荐
相关产品推荐

