HarmonyOS鸿蒙Next应用中华为账号登录点击后显示登录失败(1001502003)怎么解决?

HarmonyOS鸿蒙Next应用中华为账号登录点击后显示登录失败(1001502003)怎么解决? 问题描述:在应用中实现华为登录功能,但是点击华为账号登录后提示,登录失败和(1001502003)错误码 cke_1912.png


更多关于HarmonyOS鸿蒙Next应用中华为账号登录点击后显示登录失败(1001502003)怎么解决?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

小伙伴你好,优先检查一下 Entry 模块中的 module.json5 文件配置是否正确。
详细查看文档:
https://developer.huawei.com/consumer/cn/doc/architecture-guides/tools-v1_2-ts_45-0000002346853193#section73061957102512

更多关于HarmonyOS鸿蒙Next应用中华为账号登录点击后显示登录失败(1001502003)怎么解决?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


请检查Client ID是否配置错误:

  1. 检查module type为entry的模块下module.json5中的clientId是否配置错误,请参考配置Client ID。 注意:此处client_id的获取路径为:AGC的常规->应用->OAuth 2.0客户端ID(凭据->Client ID)。 在工程中entry模块的module.json5文件中,新增metadata,配置name为client_id,value为Client ID的值。 错误示例1、client_id在工程里面沒有配置。 错误示例2、client_id的value写到string里面(比如:“value”: “$string:clientId”)也会导致授权报错。 错误示例3、client_id的value里面配置成APP ID,而不是Client ID的值。 错误示例4、module.json5里面配置了多个client_id。
  2. 检查手机号码
  3. 如果还有问题,请提交样例代码和报错截图 通过开发流程这个文档 https://developer.huawei.com/consumer/cn/doc/app/agc-help-auth-process-0000002271416137

一、核心原因分析

该错误码表示输入参数值无效,可能由以下场景触发:

  • Client ID 配置错误
    • 在 module.json5 中未正确配置 client_id 或值不匹配
    • client_id 使用了字符串资源(如 “$string:clientId”)而非直接写入真实值
  • 参数传递异常
    • 授权请求中传递的 scope 参数格式错误或权限值无效
    • 请求参数类型不符(如数字类型传入了字符串)

二、解决步骤与代码验证

  1. 检查 Client ID 配置

在应用入口模块的 module.json5 文件中,确保以下配置正确:

{
  "module": {
    "metadata": [
      {
        "name": "client_id",          // 固定字段名
        "value": "你的实际Client ID"   // 从AGC控制台获取的真实值(非字符串引用)
      }
    ]
  }
}
  • 验证点:通过 AGC 控制台进入「常规 > 应用 > OAuth 2.0 客户端ID」获取 Client ID,确保与配置完全一致。
  1. 检查权限参数传递

调用登录接口时,注意 scope 参数的合法性:

// 正确示例:使用标准权限声明
let scopes = [
  "openid",
  "profile"  // 其他权限需根据文档要求填写
];
  • 常见错误:
    • 使用非标准权限标识(如自定义字符串)
    • 权限列表格式错误(如未使用数组或字符串拼接错误)
  1. 签名与证书验证
  • 调试环境:若使用调试证书登录正常但正式证书失败,需检查:
    • 发布证书是否在 AGC 控制台正确配置公钥指纹
    • 是否通过 手动签名 配置而非勾选自动生成(参考 File > Project Structure > Signing Configs)
  1. 设备与环境排查
  • 网络环境:切换 Wi-Fi/移动网络测试,排除代理或防火墙干扰
  • 设备时间:确保设备系统时间与网络时间同步(时间偏差会导致签名错误)
  1. 错误码1001500001的含义为应用指纹证书验证失败,可能原因:应用的指纹证书未配置或配置错误。 排查定位思路:
    • Client ID是否配置错误: 检查module type为entry的模块下module.json5中的clientId是否配置错误,请参考配置Client ID。 说明 此处client_id的获取路径为:AGC的常规->应用->OAuth 2.0客户端ID(凭据->Client ID)。 在工程中entry模块的module.json5文件中,新增metadata,配置name为client_id,value为Client ID的值。 错误示例1:client_id在工程里面没有配置。 错误示例2:client_id的value写到string里面(比如:“value”: “$string:clientId”)也会导致授权报错。 错误示例3:client_id的value里面配置成APP ID,而不是Client ID的值。 错误示例4:module.json5里面配置了多个client_id。
    • 检查应用的签名证书指纹是否配置正确,可以按照文档里面的添加公钥指纹,检查应用签名。参考文档:配置公钥指纹。 错误示例1:AGC上面没有添加公钥指纹。 错误示例2:本地工程里面配置的证书和AGC上面应用的SHA256公钥指纹上面的证书不是同一套。
    • File -> Project Structure… -> Project -> Signing Configs界面,不能勾选“Automatically generate signature”进行自动签名,需要手动配置签名。 可以按照开发准备里面的说明配置:配置签名信息
    • 网络问题,可以看下设备网络是否有问题,可以换个网络,比如切换到移动网络或者WIFI下面再试下是否OK。
    • 在AGC上面,添加公钥指纹(HarmonyOS API 9及以上)后,指纹有一定时间的缓存,不会立刻生效,建议配置完成后等半小时再尝试。

参考地址 https://developer.huawei.com/consumer/cn/doc/architecture-guides/tools-v1_2-ts_45-0000002346853193

错误码 1001502003 表示“输入参数值无效”,在华为账号一键登录场景里 99% 都是配置或签名问题,可按照下面顺序逐项排查,基本都能定位到根因,可以有以下问题:

  1. 检查 client_id- 只能把“OAuth 2.0 客户端 ID(Client ID)”填到 entry 模块的 module.json5,不能填成 App ID,也不能用 $string:xxx 引用,必须直接写死成字符串。
  • 文件里只能出现一次 client_id,多余的 metadata 会把正确值覆盖掉 。
  1. 检查签名证书- 一定要用“手动签名”打出包,自动签名在本地调试时不会带入正式证书,服务器验签会失败。
  • 确认打包用的 .p12/.csr 与 AppGallery Connect 后台配置的 SHA256 指纹完全一致;指纹修改后大约要 30 min 才生效 。
  1. 检查一键登录参数- 如果调用的是 AuthorizationWithHuaweiIDRequest,scope 和 permission 至少传一个,不能两个都空;若传了匿名手机号,必须先通过同一接口获取,不能硬编码 。

  2. 检查上下文对象- 在 ArkTS 里自己 new AuthenticationController 时,一定把 UIAbility 的 context 传进去,传 null 也会直接报 1001502003 。

  3. 其它常见低级错误- JSON5 里 client_id 值前后出现空格、换行。

  • agconnect-services.json 未放到 entry 目录或不是最新版本。
  • 模拟器未安装/更新 HMS Core,真机系统时间被修改 。

登录失败代码1001502003通常与网络环境或账号状态有关。请按以下步骤排查:

  1. 确保设备网络连接正常且稳定。
  2. 检查系统日期和时间是否准确。
  3. 确认华为账号未被冻结或限制登录。
  4. 前往“设置 > 华为帐号”,退出当前账号后重新登录。
  5. 清除应用数据或重启设备后重试。

错误码 1001502003 通常与华为帐号登录服务的配置或签名问题相关。请按以下步骤进行排查:

  1. 检查应用签名:这是最常见的原因。请确保您在 AppGallery Connect 中配置的“SHA-256 证书指纹”与您当前打包应用的签名证书指纹完全一致。无论是调试(debug)还是发布(release)版本,都必须匹配。

    • 获取当前应用签名指纹:可通过命令行工具(如 keytool -list -v -keystore your.keystore)或 IDE 的签名报告功能获取。
    • 在 AGC 中配置:登录 AppGallery Connect,在您的项目下找到对应应用,进入“我的项目” > “项目设置” > “常规”中,检查并正确填写“SHA-256 证书指纹”。
  2. 核对 OAuth 客户端 ID:在您的代码中,确保初始化华为帐号服务时使用的 client_id(或从 agconnect-services.json 中读取的)与 AGC 中“API 管理”页面的“OAuth 客户端 ID”一致。

  3. 验证包名:检查应用的实际包名(在项目的 build.gradleapp.json5 中定义)是否与在 AGC 中注册的包名完全相同。

  4. 检查网络与权限

    • 确认设备网络正常,可访问华为服务。
    • 在应用的 module.json5 配置文件中,已添加必要的网络权限(如 ohos.permission.INTERNET)。
  5. 确认 HMS Core 版本:在测试设备上,确保 HMS Core(APK)已更新至较新版本。

完成上述修改后,请重新生成并安装应用进行测试。重点检查第 1 项签名配置,绝大多数此类错误由此引起。

回到顶部