# 华为账号登录接入指南

本文档介绍了如何在小程序 SDK 中接入并调用华为账号登录功能。

# 1. 准备工作

在调用登录接口之前,请确保您已在华为开发者联盟完成了相关应用的配置:

  1. 注册与认证:前往 华为开发者联盟 注册开发者账号并完成实名认证。
  2. 创建应用:在 AppGallery Connect 中创建您的 HarmonyOS 应用,并完善应用基本信息。
  3. 开启服务:在应用的 API 管理中,确保已开启 “华为账号 (Huawei ID)” 服务权限。
  4. 获取凭证:在应用信息页面,获取您的 Client ID(客户端 ID)和 Client Secret(客户端密钥)。

    ⚠️ 安全提示Client Secret 是应用的重要安全凭证,严禁硬编码在客户端代码中,必须保存在您的服务端。

# 2. 控制台配置账号

按照上述步骤 1 准备账号后前往微信开发者平台进行账号配置:

  1. 前往多端应用控制台:前往 微信开发者平台 并前往多端应用控制台。
  2. 开通身份管理:如果已开通,则此步骤可跳过。
  3. 配置华为登录:参考下图,点击「管理」进入华为登录配置页,将 Client ID 与 Client Secret 配置并保存即可。

# 3. 接口说明

接口名称wx.miniapp.ohosLogin

功能描述: 调起 HarmonyOS 系统的华为账号授权登录界面。用户授权成功后,接口会返回身份管理系统生成的临时登录凭证 code,开发者需将此 code 发送至自己的服务端,由服务端结合 Client IDClient Secret 向身份管理服务器请求换取用户的 Access Token 及基本信息。

# 4. 调用示例

请确保您的项目已接入支持该接口的最新版 SDK,然后在需要触发登录的地方调用以下代码:

wx.miniapp.ohosLogin({
  success: (res) => {
    console.log('华为登录成功', res);
    
    // res.code 为身份管理系统返回的临时登录凭证
    const authCode = res.code;
    
    // TODO: 将 authCode 发送到您的服务端
    // wx.request({
    //   url: 'https://your-backend-server.com/api/login/huawei',
    //   method: 'POST',
    //   data: { code: authCode },
    //   success: (serverRes) => { ... }
    // });
  },
  fail: (err) => {
    // 登录失败或用户取消授权
    console.error('华为登录失败', err);
    // err.errno: 错误码
    // err.errMsg: 错误信息描述
  }
});

# 5. 返回参数说明

success 回调中,res 对象包含以下关键字段:

字段名 类型 说明
code String 身份管理系统返回的临时登录凭证。

# 5. 服务端接入流程简述

客户端成功获取 code 并传给服务端后,服务端需要完成以下步骤:

  1. 服务端携带 Client IDClient Secret 以及接收到的 code,向身份管理服务器发起请求。
  2. 获取到 code 之后需要调用 code2verifyinfo 获取信息

详细的服务端接口调用规范,请参考华为官方文档:华为账号服务 - 服务端开发指南