#HarmonyOS NEXT体验官# 云开发-用户自动认证

33 阅读2分钟

踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业认可,点亮职业成长先机,快人一步抢占未来应用开发赛道!developer.huawei.com/consumer/cn…

背景

华为云服务提供了统一认证的云服务,支持手机、邮箱等自定义登录服务,并且提供了免费使用的额度,这样子方便中小企业或者项目快速的开发工作。下面是支持的认证方式:

图片 1.png

操作步骤

1.AGC(AppGallery Connect)创建项目

在AGC界面创建自己的云服务项目(详细可看上篇文章【HarmonyOS】端云一体化初始化项目),并开通认证服务,如下图:

图片 2.png

启用手机号码和邮箱地址服务:

图片 3.png

2.添加项目配置文件

在AGC的项目界面下载agconnect-services.json文件,并添加到本地的项目文件中。

图片 4.png

图片 5.png

3.添加与云服务相关的第三方库

· 在项目的终端中,输入 cd entry 进入entry目录

· 安装SDK

图片 6.png

可以在entry->oh-package.json5文件中可以查看添加的第三方库和对应的版本号,可以看到添加了 @hw-agconnect/hmcore和 @hw-agconnect/cloud两个第三方库。

图片 7.png

示例使用手机验证码实现登录功能

验证码的操作示意图

图片 8.png

1. 搭建初始化界面

图片 9.png

图片 10.png

图片 11.png

2.云服务认证使用初始化

修改EntryAbility文件代码进行初始化

· 添加import { initialize } from ‘@hw-agconnect/hmcore’

· 添加配置的JSON文件路径 :import serciceJson from ‘…/…/resources/rawfile/agconnect-services.json’

· 在OnCreate方法中添加初始化代码

修改示意图:

图片 12.png

整体代码如下:

图片 13.png

图片 14.png

图片 15.png

发送验证码

输入手机号码后点击获取验证码按钮,然后获取登录的验证码短信。短信截图如下:

图片 16.png

完整代码:

图片 17.png

图片 18.png

图片 19.png

主要调用requestVerifyCode方法去获取验证码信息,传入VerifyCodeParam类型对象。

VerifyCodeParam的属性解析:

· verifyCodeType :PhoneVerifyCode对象,主要输入phoneNumber和countryCode对象。

· action : 枚举值,选择获取验证码的类型

· lang : 语言

· sendInterval : 重复发送的时间间隔

根据验证码实现登录功能

实现登录效果

图片 20.png

图片 21.png

图片 22.png

图片 23.png

图片 24.png

主要调用auth的signIn方法,并传入对应的电话号码和验证码。
SignInParam对象

· credentialInfo: CredentialInfo对象,设置电话号码和前缀,可以选择密码登录或者验证码登录

· autoCreateUser?: boolean; 设置当没有当前对象存在时,是否需要自动生成用户。

总结

以上示例仅仅对统一认证流程的讲解,其中完整的逻辑判断并没有添加,可以根据自己的需求来添加相应的逻辑判断。(转载自51CTO,作者:奥尼5354)