Google Sign-In按钮未授权时向play.google.com发401请求的原因及禁用方法
Google Sign-In按钮向play.google.com发送POST请求返回401的原因及解决方法
原因
这个请求是Google Sign-In的自动账号检测机制触发的。Google的GSI(Google Identity Services)库默认会向play.google.com发送请求,检测用户设备上是否已登录Google账号,目的是优化登录流程(比如自动展示已登录的账号供快速选择)。未授权状态下返回401是因为当前应用没有获取到访问该服务的权限,属于库的预期行为,但会在控制台抛出报错。
解决方法
要禁用这个自动检测请求,只需在初始化Google Sign-In时添加skip_prompt_cookie: true配置项即可。修改后的初始化代码如下:
window.google.accounts.id.initialize({ client_id: clientId, callback: handleCredentialResponse, // get auth response skip_prompt_cookie: true // 新增:禁用自动账号检测请求 });
添加这个参数后,GSI库就不会再主动向play.google.com发送检测请求,控制台的401报错也会消失,同时不会影响Google Sign-In的核心登录功能。
内容的提问来源于stack exchange,提问作者Kirill Morozov
相关产品推荐
相关产品推荐

