踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业认可,点亮职业成长先机,快人一步抢占未来应用开发赛道!背景这篇文章主要记录,个人开发者在获取
踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业认可,点亮职业成长先机,快人一步抢占未来应用开发赛道!
背景
这篇文章主要记录,个人开发者在获取华为用户授权后,拿到用户的头像和名字。获取用户的电话号码的获取需要应用获得 scope 权限,现仅对企业开发者开放。

环境配置
在项目中生成证书请求文件(CSR)
・ 在 build->Generate Key and CSR 中选择

・根据下面填写内容生成 CSR 文件

・创建 Key store,密码要记住的哈~~


・在证书、APPID 和 Profile 中创建 APP

・新建证书,然后下载证书,后续的项目配置需要使用

・新建 Profile,并下载后续给项目配置使用

・在项目中添加公钥指纹,选择自己新建的公钥

在项目结构中手动添加证书
先查看 Bundle name 和 AGC 的项目上填写的是否一致。像我这里的,AGC 是 com.myapp.accentdemo,项目的是 com.example.accountdemo,因此,需要先调整好 Bundle name


UI

・需要引用 authentication 和 ImageType
获取用户信息请求对象代码

・通过 authentication.HuaweiIDProvider ().createAuthorizationWithHuaweiIDRequest () 的方式创建请求对象
授权请求对象几个重要的属性:
・scopes:获取用户数据,与 permissions 属性不能同时为空,否则会报错,默认值:[‘openid’]。其中的参数有
profile:华为账号用户的基本信息,如昵称头像等。
openid:华为账号用户的 OpenID、UnionID。UnionID 作为用户标识,OpenID 为用户在当前应用的用户标识。
phone:华为账号快速验证手机号,需要 scope 权限,也就是企业用户哈。
quickLoginAnonymousPhone:获取华为账号绑定的匿名手机号,需要 scope 权限,也就是企业用户哈。
・permissions:用于获取用户授权临时凭据和用户身份认证信息,与 scopes 属性不能同时为空。
serviceauthcode:用户授权临时凭据。
idtoken:用户身份认证信息。
・forceAuthorization:表示华为账号未登录时,是否需要强制拉起华为账号登录页。默认值:true。
・state:随机数并做一致性校验。该参数与响应体中返回的 state 比较。
・nonce:该参数会包含在返回的 ID Token 中,通过校验一致性,可用于防止重放攻击。
・idTokenSignAlgorithm:默认值:PS256,用于指定 ID Token 的签名算法。
・supportAtomicService:在元服务场景下,当传入 scopes 包含 profile 时,是否支持获取用户头像昵称。如果该值为 true,可以正常获取用户头像昵称。如果该值为 false,执行授权请求将返回 1001500003 错误代码。
获取请求数据

请求返回的结果
・data:用户授权结果数据,可以查看 SDK 文档,AuthorizationWithHuaweiIDCredential
・state:响应体中返回的 state
实现的效果如下
背景
这篇文章主要记录,个人开发者在获取华为用户授权后,拿到用户的头像和名字。获取用户的电话号码的获取需要应用获得 scope 权限,现仅对企业开发者开放。

环境配置
在项目中生成证书请求文件(CSR)
・ 在 build->Generate Key and CSR 中选择

・根据下面填写内容生成 CSR 文件

・创建 Key store,密码要记住的哈~~

・输入 Alias(别名)后面再项目结构配置的时候需要填写的哈,要记住。(尴尬,写到才发现单词写错了。。。)

・保存 CSR 地址,点击 Finish 完成创建


・在证书、APPID 和 Profile 中创建 APP

・新建证书,然后下载证书,后续的项目配置需要使用

・新建 Profile,并下载后续给项目配置使用

・在项目中添加公钥指纹,选择自己新建的公钥

在项目结构中手动添加证书
先查看 Bundle name 和 AGC 的项目上填写的是否一致。像我这里的,AGC 是 com.myapp.accentdemo,项目的是 com.example.accountdemo,因此,需要先调整好 Bundle name

在 AppScope 的 app.json5 文件中进行修改

在 Signing Configs 选项卡中配置项目信息

配置 Client ID,在 Entry->module.json5 中添加 Client ID,在 AGC 中复制 ID


UI


・需要引用 authentication 和 ImageType
获取用户信息请求对象代码

・通过 authentication.HuaweiIDProvider ().createAuthorizationWithHuaweiIDRequest () 的方式创建请求对象
授权请求对象几个重要的属性:
・scopes:获取用户数据,与 permissions 属性不能同时为空,否则会报错,默认值:[‘openid’]。其中的参数有
profile:华为账号用户的基本信息,如昵称头像等。
openid:华为账号用户的 OpenID、UnionID。UnionID 作为用户标识,OpenID 为用户在当前应用的用户标识。
phone:华为账号快速验证手机号,需要 scope 权限,也就是企业用户哈。
quickLoginAnonymousPhone:获取华为账号绑定的匿名手机号,需要 scope 权限,也就是企业用户哈。
・permissions:用于获取用户授权临时凭据和用户身份认证信息,与 scopes 属性不能同时为空。
serviceauthcode:用户授权临时凭据。
idtoken:用户身份认证信息。
・forceAuthorization:表示华为账号未登录时,是否需要强制拉起华为账号登录页。默认值:true。
・state:随机数并做一致性校验。该参数与响应体中返回的 state 比较。
・nonce:该参数会包含在返回的 ID Token 中,通过校验一致性,可用于防止重放攻击。
・idTokenSignAlgorithm:默认值:PS256,用于指定 ID Token 的签名算法。
・supportAtomicService:在元服务场景下,当传入 scopes 包含 profile 时,是否支持获取用户头像昵称。如果该值为 true,可以正常获取用户头像昵称。如果该值为 false,执行授权请求将返回 1001500003 错误代码。
获取请求数据

请求返回的结果
・data:用户授权结果数据,可以查看 SDK 文档,AuthorizationWithHuaweiIDCredential
・state:响应体中返回的 state

实现的效果如下
・未授权时,会有弹窗提示:

・然后就可以显示用户头像和名字了

Kimi K3引关注,回应马斯克喊话:期待Grok 4.5来较量,共促行业进步
暑期核爆,性能狂飙:技嘉旗舰整机解锁清爽游戏体验
太空算力:中国抢先布局,未来有望成数字经济新引擎
麦格理:SpaceX核心逻辑稳固,目标价250美元,当前或是买入好时机
AI浪潮下的价值重构:从资本狂热到理性丈量未来回报
小红书大模型dots-note-3.0斩获IMO满分金牌,创新解法获数学冠军盛赞
大晓机器人破局具身智能:自研世界模型赋能,开启机器人自主决策新篇
具身智能战火蔓延商圈:机器人门店是商业化前哨还是昂贵流量实验?
AI教程泛滥成灾?这家公司用40万字知识库,教普通人玩转AI新姿势
小米逆势上调手机出货目标至1.1亿部,低端机型成增长新引擎
9月手机圈“大战”将启:华为小米苹果旗舰新机齐登场,谁是你的菜?
雷军分享小米澎程新动态:插电增程混动,WLTC亏电油耗低至5.7L
盒马淘宝流量入口“升格”:即时零售竞争白热化下的资源争夺与未来信号
具身智能“战火”蔓延商圈:机器人门店是商业化前哨还是流量实验?
段永平重仓泡泡玛特,普通投资者能否跟随?深度剖析投资逻辑与风险
阿里将推千问办公,由钉钉新任CEO陈宇森负责
月之暗面拟8月开启IPO前最后一轮融资 投前估值瞄准500亿美元
WAIC2026技术盘点|维谛技术(Vertiv)展示了哪些AI基础设施创新产品?
2026智能电动骑行箱深度解析与选购指南
从具身智脑到产业生态:灵境智源亮相WAIC 2026,探索具身智能底座新路径
免责声明:本文内容来源于第三方或整理自互联网,本站仅提供展示,不拥有所有权,不代表本站观点立场,也不构成任何其他建议,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容,不承担相关法律责任。如发现本站文章、图片等内容有涉及版权/违法违规或其他不适合的内容, 请及时联系我们进行处理。
