添加Google登录时遇approval_state参数设置错误问题求助
解决Google登录「approval_state参数设置错误」问题
针对你遇到的[GSI_LOGGER]: Parameter approval_state is not set correctly错误,给你几个直接的排查和解决方向:
核对重定向URI配置
你设置的data-login_uri必须和Google Cloud控制台里「OAuth 2.0客户端ID」的授权重定向URI完全一致,包括协议(http/https)、域名、端口号,连末尾的斜杠都不能多或者少。比如你用http://localhost:5173,就必须在控制台把这个地址精确添加到重定向列表里,不能写成http://localhost:5173/或者其他端口。确认Client ID类型正确
确保你用的是「Web应用」类型的OAuth客户端ID,不是服务端ID、Android/iOS客户端ID这类。登录Google Cloud控制台,找到对应的项目,检查OAuth客户端ID的类型,别用错了ID。清缓存/无痕模式测试
浏览器缓存的旧授权会话可能会干扰新的请求,直接清空Google相关的Cookie,或者用无痕模式打开页面测试,排除缓存问题。检查页面初始化逻辑
把g_id_onload的div放在gsi脚本前面,确保DOM先解析完成再加载脚本;另外检查页面里有没有重复引入gsi脚本,或者多个g_id_onload元素,重复初始化会导致参数混乱。
给你一个修正后的示例代码参考:
<div id="g_id_onload" data-client_id="你的Web应用客户端ID.apps.googleusercontent.com" data-login_uri="http://localhost:5173" data-auto_prompt="true"> </div> <script src="https://accounts.google.com/gsi/client" async></script> <!-- 如果需要显示登录按钮,添加以下元素 --> <div class="g_id_signin" data-type="standard" data-size="large" data-theme="outline"> </div>
内容的提问来源于stack exchange,提问作者Bill Yan
相关产品推荐
相关产品推荐

