写点什么

HarmonyOS5 云服务技术分享 -- 自有账号对接 AGC 认证

作者:莓创技术
  • 2025-05-21
    广东
  • 本文字数:1396 字

    阅读完需:约 5 分钟

✨ ​​手把手教你:用自有账号玩转华为 AGC 认证服务​​ ✨

Hi 各位开发者朋友~👋今天咱们来聊聊如何将自家已有的账号系统与华为的 AppGallery Connect(AGC)认证服务无缝对接。不用重复造轮子,还能享受 AGC 的安全保障和 Serverless 生态,简直不要太方便!😎 下面直接上干货,步骤超详细,包教包会!

🌟 ​​一、什么是自有账号对接?​​

如果你的应用已经有一套成熟的账号体系(比如自研的用户系统),通过 AGC 的​​自有账号认证​​功能,可以快速接入 AGC 的认证服务,实现:

  1. ​扩展认证方式​​:让用户既可以用自有账号登录,也能使用 AGC 支持的第三方登录(比如华为账号、微信等)

  2. ​数据安全访问​​:通过 AGC 的安全规则,保护用户在云数据库、云存储等 Serverless 服务中的数据

  3. ​统一身份管理​​:无论用户通过哪种方式登录,都能通过唯一的 AGC 用户 ID 识别身份

🛠️ ​​二、准备工作(先搞定这些!)​​

  1. ​开通 AGC 认证服务​

    登录 AGC 控制台,进入​​“构建 > 认证服务”​​,启用​​自有账号​​认证方式

  2. ​集成 SDK​

    在项目中添加 AGC 认证服务的 SDK 依赖(具体版本以官方文档为准):

//import auth from '@hw-agconnect/auth';  
复制代码
  • 下载并配置agconnect-services.json文件到项目资源目录

🚀 ​​三、开发步骤(代码示例+详解)​​

​​步骤 1:生成自有账号的 JWT 令牌​​

当用户在你的服务器登录后,需生成一个​​JWT(JSON Web Token)​​并传递给 AGC。这个 Token 需要包含用户唯一标识(如用户 ID)和有效期等信息,确保安全性。

//const token = generateJWT({    userId: "123456",    expiresIn: "2h"  });  
复制代码

步骤 2:前端调用 AGC 登录接口​​

将 JWT 传给 AGC SDK,完成用户身份验证:

auth.signIn({  'credentialInfo': {      kind: 'selfBuild',      accessToken: '你的JWT令牌'    }  }).then(signInResult => {    console.log('登录成功!用户UID:', signInResult.getUser().getUid());  }).catch(error => {    console.error('登录失败:', error.message);  });  
复制代码

关键点​​:

  • kind必须设为selfBuild,表示自有账号认证

  • 登录成功后,用户信息(如 UID、昵称等)会通过signInResult返回

​​步骤 3:配置安全规则(可选)​​

如果你想限制用户访问 Serverless 服务(如云数据库),可以在 AGC 控制台配置​​安全规则​​,例如:

//{    "rules": {      "users": {        "$uid": {          ".read": "auth.uid == $uid"        }      }    }  }  
复制代码

🔄 ​​四、更多实用功能​​

  1. ​账号关联​

    用户可以将微信、华为账号等与自有账号关联,实现多方式登录

  2. ​登出与销户​

    调用auth.signOut()退出当前账号;

    销户需确保用户在​​5 分钟内登录过​​,否则需重新认证

  3. ​敏感操作保护​

    修改密码、重置账号等操作需二次验证,提升安全性

⚠️ ​​五、避坑指南​​

  1. ​Token 有效期​​:建议 JWT 的过期时间不要太长,避免安全风险。

  2. ​错误处理​​:捕获signIn的异常,并提示友好错误信息(如网络问题、Token 失效等)

  3. ​合规性​​:如果应用涉及海外用户,需遵守当地隐私法规(如 GDPR)

🎉 ​​六、总结​​

通过自有账号对接 AGC 认证服务,不仅能复用现有用户体系,还能享受华为生态的 Serverless 能力,一举两得!如果你还在为账号系统的安全和扩展性头疼,不妨试试这个方案~

​遇到问题?​​ 欢迎在评论区提问,或者直接私信我!💬

Happy Coding!🚀—— 你的技术小伙伴

用户头像

莓创技术

关注

一只会打代码的羊 2020-03-20 加入

还未添加个人简介

评论

发布
暂无评论
HarmonyOS5云服务技术分享--自有账号对接AGC认证_莓创技术_InfoQ写作社区