HarmonyOS鸿蒙Next应用调用LoginWithHuaweiIDRequest报错1001502009

HarmonyOS鸿蒙Next应用调用LoginWithHuaweiIDRequest报错1001502009 鸿蒙应用调用LoginWithHuaweiIDRequest报错1001502009

问题描述

我们项目最近在开发鸿蒙游戏,调用华为帐号服务的登录接口 LoginWithHuaweiIDRequest,接口报错

{"code":1001502009,"message":"Internal error","data":{}}

问题分析1

联系华为技术支持(提单),在cmd下通过如下命令抓取详细日志:

hdc hilog>d:\xxx.log

分析日志,发现详细报错如下原因:

09-05 14:16:16.273  6524  6524 E A0ff00/AccountKit_OpenS_AuthBaseServic: HWID_REQ_1693894576268 callerUid=20010092, bundlerName=com.xxxx, reqType=1. execute request failed, error={"code":1001502009,"message":"no client_id in metadata"}
09-05 14:16:16.273  6524  6524 I A0ff00/AccountKit_CpErrorManager: getErrorDesc error code:1001502009
09-05 14:16:16.275 21889 21889 E A00000/testTag: login fail, error: {"code":1001502009,"message":"Internal error","data":{}}

日志提示我们没有参考文档集成client_id

但是实际我们是有集成的

经过仔细核实,发现我们配置的metadata位置是错误的,文档中要求的是与abilities同级别下,创建一个matedata,但是我们实际配置到了abilities节点内的matedata

问题解决1

经过华为技术支持答疑后,我们修改配置后问题解决。

问题分析2

联系华为技术支持(提交工单:https://developer.huawei.com/consumer/cn/support/feedback),在cmd下通过如下命令抓取详细日志:

hdc hilog>d:\xxx.log

分析日志,暂未发现报错。

随后抓取测试机上的全量日志信息(包括hmscore的日志)发给华为技术,技术定位到日志:

HuaweiAccount - [ACCOUNT_TAG]signInParams.idTokenSignAlg:PS256,nonce:,state:function now() { [native code] }(CheckAndInitSignInParams:755)

其中,“nonce:,state:function now() { [native code]”说明登录代码传参的state不是一个字符串,而是一个function,技术让我们检查代码,state字段必须传入字符串。

问题解决2

经检查代码如下:

我们传入的state值是一个函数,这种写法应该只是把Date.now.tostring 函数记录下来了,没有调用获取值,我们修改为先获取到Date.now.tostring() 的值,然后再传递给state,再次请求接口,接口调用成功,问题解决。


更多关于HarmonyOS鸿蒙Next应用调用LoginWithHuaweiIDRequest报错1001502009的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS鸿蒙Next应用调用LoginWithHuaweiIDRequest报错1001502009的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next应用中调用LoginWithHuaweiIDRequest时,报错代码1001502009通常表示认证失败。该错误可能与以下几个原因有关:

  1. Huawei ID未正确配置:确保在AppGallery Connect中正确配置了Huawei ID服务,并且应用的包名、签名证书等与配置一致。

  2. Huawei ID服务未启用:检查是否在AppGallery Connect中启用了Huawei ID服务,并且应用的agconnect-services.json文件已正确集成到项目中。

  3. 网络问题:认证过程中网络连接不稳定或中断可能导致此错误。确保设备网络连接正常。

  4. Huawei ID账户问题:用户使用的Huawei ID账户可能存在问题,如未激活或受限。

  5. SDK版本问题:确保使用的HMS Core SDK版本与HarmonyOS鸿蒙Next版本兼容,并且已更新到最新版本。

  6. 权限问题:检查应用是否获取了必要的权限,如网络访问权限等。

  7. API调用错误:确认LoginWithHuaweiIDRequest的调用方式是否正确,参数是否完整且符合要求。

  8. 服务器端问题:Huawei ID服务端可能出现临时故障或维护,导致认证失败。

解决此问题需要逐一排查上述可能的原因,并确保所有配置和调用符合HMS Core的要求。

回到顶部