HarmonyOS 鸿蒙Next api12使用AGC登录后,关闭应用重启应用后,获取登录信息出错

发布于 1周前 作者 bupafengyu 来自 鸿蒙OS

HarmonyOS 鸿蒙Next api12使用AGC登录后,关闭应用重启应用后,获取登录信息出错

api12使用AGC登录成功后,关闭应用重启应用后,获取登录信息出错,报错信息:

{“code”:12000006,“message”:[“Crypto engine error.”],“data”:null}

代码:


auth.getCurrentUser().then(user=>{
if(user){
//业务逻辑
console.log(‘获取到user:’ + JSON.stringify(user))
}
}).catch((error:AGCAuthError) => {
console.error(‘获取用户登录信息失败:’ + JSON.stringify(error))
})

请教这是什么原因,如何解决?

6 回复

这是删除应用,重新安装后的第一次运行,是完全成功的:

Emulator.exe_20241119_204141.png3

这是关闭应用,重启应用之后,就不能获取到登录成功的信息了

Emulator.exe_20241119_204222.png

以下是demo代码

import auth from '[@hw-agconnect](/user/hw-agconnect)/auth';

@Entry @Component struct Demo { @State message: string = ‘Hello World’; @State info: string = ‘登录信息:’ aboutToAppear(): void { auth.signIn({ autoCreateUser: true, credentialInfo: { kind: ‘email’, password: ‘l1i3a5o7’, email: ‘uhutu@163.com’ } }).then(user => { //登录成功 this.message = ‘登录成功’ this.info = ‘登录信息:’ + user.getUser().getUid() }).catch((error: Error) => { //登录失败 this.message = ‘登录失败’ this.info = JSON.stringify(error) }); } build() { Column() { Text(this.message) .id(‘DemoHelloWorld’) .fontSize(30) Text(this.info) } .height(‘100%’) .width(‘100%’) } }<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

您好,请问使用的是Ark TS API12的认证服务么?

麻烦提供下更详细的日志,另外您在登录验证的时候,APP是放置一会儿再打开的么?

删除应用,重新安装,是可以正常获取到登录成功的信息的,就是关闭应用,重启该应用,就获取不到了。 日志和代码已经附上,请帮我看看,谢谢

针对您提到的HarmonyOS 鸿蒙Next api12使用AGC登录后,关闭应用重启应用后获取登录信息出错的问题,以下是一些可能的解决方案:

  1. 检查ClientID配置:请确保module type为entry的模块下module.json5中的ClientID配置正确,与AGC上的一致。
  2. 指纹证书校验:登录报错可能与应用指纹证书校验失败有关。请确认AGC上应用的指纹证书配置正确,包括sha256指纹。
  3. 系统时间与缓存:开发过程中,debug的签名信息可能会被缓存,切换release时由于缓存原因可能导致校验不通过。尝试将系统时间调整至24小时后重启模拟器或设备,看是否能解决问题。
  4. 网络连接:确保网络连接正常,避免因网络问题导致接口异常。

如果以上方法均未能解决问题,建议您联系官网客服,寻求专业的技术支持。官网地址是:https://www.itying.com/category-93-b0.html

回到顶部