uni-app uni.login调用google登录退出登录后再次点击登录部分机型不跳出选择账号界面而是直接返回了上次选择账号登录信息
uni-app uni.login调用google登录退出登录后再次点击登录部分机型不跳出选择账号界面而是直接返回了上次选择账号登录信息
| 类别 | 信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC系统版本 | windows 11 |
| 开发工具 | HBuilderX |
| 工具版本 | 4.64 |
| 手机系统 | Android |
| 手机系统版本 | Android 12 |
| 手机厂商 | 三星 |
| 手机机型 | Galaxy S20 |
| 页面类型 | vue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
示例代码:
uniLogin() {
return new Promise(resolve => {
uni.login({
provider: 'google',
success: res => resolve([null, res]),
fail: err => resolve([err, null])
});
});
},
// 第一步:获取登录凭证
const [loginErr, loginRes] = await this.uniLogin();
console.log('loginErr: ',loginErr);
console.log('loginRes: ',loginRes);
if (loginErr) throw loginErr;
// 第二步:获取用户信息
const [userErr, userRes] = await this.uniGetUserInfo();
if (userErr) throw userErr;
console.log('userErr: ',userErr);
console.log('userRes: ',userRes);
操作步骤:
手机上登录了多个google 账户,选择其中一个账户进行登录,登录成功之后退出登录,再次来到登陆界面想要切换另外一个账户登录,此时再调用uni.login 但是没有弹出选择账户的界面,而是uni.login直接返回了上次选择的账户的信息。
预期结果:
再次来到登陆界面想要切换另外一个账户登录,此时再调用uni.login 弹出选择账户的界面
实际结果:
再次来到登陆界面想要切换另外一个账户登录,uni.login直接返回了上次选择的账户的信息。
bug描述:
登录界面调用的 uni.login 进行谷歌登录。手机上登录了多个google 账户,选择其中一个账户进行登录,登录成功之后退出登录,再次来到登陆界面想要切换另外一个账户登录,此时再调用uni.login 但是没有弹出选择账户的界面,而是uni.login直接返回了上次选择的账户的信息。
更多关于uni-app uni.login调用google登录退出登录后再次点击登录部分机型不跳出选择账号界面而是直接返回了上次选择账号登录信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app uni.login调用google登录退出登录后再次点击登录部分机型不跳出选择账号界面而是直接返回了上次选择账号登录信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是Google登录SDK的预期行为,不是uni-app的bug。Google登录服务会缓存上次授权的账户信息,以提高用户体验。
要强制显示账户选择界面,需要在调用uni.login时添加reauthorize参数:
uni.login({
provider: 'google',
reauthorize: true, // 强制重新授权,显示账户选择界面
success: res => resolve([null, res]),
fail: err => resolve([err, null])
});

