ITPub博客

首页 > 架构设计 > 操作系统 > 【HarmonyOS 6】获取华为用户信息

【HarmonyOS 6】获取华为用户信息

投稿 操作系统 作者:ITPUB鸿蒙小助手 时间:2025-12-04 17:41:24 620 删除 编辑

踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业 认可,点亮职业成长先机,快人一步抢占未来应用开发赛道! https://developer.huawei.com/consumer/cn/training/dev-cert-detail/101666948302721398?ha_source=hmosclass-itpub&ha_sourceId=70000033

 

背景

这篇文章主要记录,个人开发者在获取华为用户授权后,拿到用户的头像和名字。 获取用户的电话号码的获取需要应用获得scope权限,现仅对企业开发者开放。

在这里插入图片描述

 

环境配置

在 项目 中生成证书请求文件(CSR)

l   在build->Generate Key and CSR中选择

在这里插入图片描述

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

 

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

在 AGC 中创建项目

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在项目结构中手动添加证书

先查看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

l   需要引用 authentication 和 ImageType

在这里插入图片描述

获取用户信息请求对象代码

l   通过authentication.HuaweiIDProvider().createAuthorizationWithHuaweiIDRequest()的方式创建请求对象

授权请求对象几个重要的属性:

l   scopes :获取用户数据,与permissions属性不能同时为空,否则会报错,默认值:[‘openid’]。其中的参数有

Ø   profile :华为账号用户的基本信息,如昵称头像等。

Ø   openid :华为账号用户的OpenID、UnionID。UnionID作为用户标识,OpenID为用户在当前应用的用户标识。

Ø   phone :华为账号快速验证手机号,需要scope权限,也就是企业用户哈。

Ø   quickLoginAnonymousPhone :获取华为账号绑定的匿名手机号,需要scope权限,也就是企业用户哈。

l   permissions :用于获取用户授权临时凭据和用户身份认证信息,与scopes属性不能同时为空。

Ø   serviceauthcode :用户授权临时凭据。

Ø   idtoken :用户身份认证信息。

l   forceAuthorization :表示华为账号未登录时,是否需要强制拉起华为账号登录页。默认值:true。

l   state :随机数并做一致性校验。该参数与响应体中返回的state比较。

l   nonce :该参数会包含在返回的ID Token中,通过校验一致性,可用于防止重放攻击。

l   idTokenSignAlgorithm :默认值:PS256,用于指定ID Token的签名算法。

l   supportAtomicService :在元服务场景下,当传入scopes包含profile时,是否支持获取用户头像昵称。如果该值为true,可以正常获取用户头像昵称。如果该值为false,执行授权请求将返回1001500003 错误代码。

获取请求数据

请求返回的结果

l   data :用户授权结果数据,可以查看SDK文档, AuthorizationWithHuaweiIDCredential

l   state :响应体中返回的state

完整代码

实现的效果如下

l   未授权时,会有弹窗提示:

在这里插入图片描述

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

在这里插入图片描述

( 转载自CSDN,作者:baobao熊)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70047792/viewspace-3104421/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2021-11-18

  • 博文量
    401
  • 访问量
    296692