未显式初始化Google Sign-in库时如何设置use_fedcm参数
如何在自动初始化的Google Sign-In中启用FedCM(设置use_fedcm)
你的场景属于通过platform.js自动初始化Google Sign-In的情况,无法直接通过显式的gapi.auth2.init调用传参,需要调整为手动初始化auth2模块的方式来添加use_fedcm: true参数,具体方案如下:
修改步骤
- 移除原有的
google-signin-client_id和google-signin-hosted_domainmeta标签(也可保留,但建议统一在初始化代码中配置,避免混淆) - 手动加载
auth2模块并完成初始化,传入use_fedcm: true以及你的客户端ID、托管域名配置 - 通过初始化后的auth实例渲染登录按钮,绑定回调函数
完整修改代码
<head> <script src="https://apis.google.com/js/platform.js" async defer></script> <script> function onSignIn(googleUser) { console.log("id_token=", googleUser.getAuthResponse().id_token); } // 手动初始化auth2并启用FedCM window.gapi.load('auth2', function() { gapi.auth2.init({ client_id: 'MY-CLIENT-ID', hosted_domain: 'MY-DOMAIN', use_fedcm: true // 强制使用FedCM API }).then(function(authInstance) { // 渲染登录按钮并绑定成功回调 authInstance.render('g-signin2', { 'onsuccess': onSignIn }); }); }); </script> </head> <body> <div id="g-signin2"></div> </body>
补充说明
- 该方式完全替代原有自动初始化逻辑,确保
use_fedcm参数被正确传入并生效 - 若坚持保留meta标签配置,可在
gapi.auth2.init中仅传入use_fedcm: true,其余配置会自动从meta标签读取,但统一配置更便于后续维护
内容的提问来源于stack exchange,提问作者aleb
相关产品推荐
相关产品推荐

