HarmonyOS鸿蒙Next中关于认证服务中手机号码认证的使用

HarmonyOS鸿蒙Next中关于认证服务中手机号码认证的使用 前段时间开发项目时,第一次尝试使用华为认证服务,结果发生了一些奇奇怪怪的问题,在不断的查文档之后还是解决,这里就自己整理了一下开发流程。

1、登录AppGallery Connect

2、在全部服务中,选择“认证服务”,启动手机号码认证

cke_981.png

cke_982.png

3、我的项目中,添加项目,再选择添加应用,随后根据实际情况填写即可

cke_366.png

cke_367.png

4、在“项目设置”中,下载SDK配置,并放在自己项目的如图所示的目录中

cke_368.png

cke_369.png

cke_370.png

5、修改oh-package.json5文件,添加以下内容

"dependencies": { 
 "@hw-agconnect/hmcore": "^1.0.1", 
 "@hw-agconnect/cloud": "^1.0.1" 
}

6、修改EntryAbility.ets文件,在onCreate中添加以下内容

cke_3472.png

async onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
 let input = await this.context.resourceManager.getRawFileContent('agconnect-services.json')
 let jsonString  = util.TextDecoder.create('utf-8', {
   ignoreBOM: true
 }).decodeWithStream(input, {
   stream: false
 });
 initialize(this.context, JSON.parse(jsonString));
}

7、打开需要使用验证码的界面,导入代码

// 导入
import cloud from '@hw-agconnect/cloud';
import { Auth, VerifyCodeAction } from '@hw-agconnect/cloud';
import { promptAction } from '@kit.ArkUI';

// 申请验证码
function requestVerifyCode(phoneNumber: string){
 cloud.auth().requestVerifyCode({
   action: VerifyCodeAction.REGISTER_LOGIN,
   lang: 'zh_CN',
   sendInterval: 60,
   verifyCodeType: {
     phoneNumber: phoneNumber,
     countryCode: '86',
     kind: "phone"
   }
 }).then(verifyCodeResult => {
   //验证码申请成功
   promptAction.showToast({
     message: '申请成功'
   })
 }).catch(() => {
   //验证码申请失败
   promptAction.showToast({
     message: "申请失败 "
   })
 });

// 注册用户
function createUser(phoneNumber: string, phoneCode: string){
 cloud.auth().createUser({
   kind: 'phone',
   countryCode: '86',
   phoneNumber: phoneNumber,
   password: '123456789',//可以给用户设置初始密码,后续可以用密码来登录
   verifyCode: phoneCode
 }).then(result => {
   // 创建用户成功
   promptAction.showToast({
     message: '创建成功'
   })
 }).catch(() => {
   // 创建用户失败
   promptAction.showToast({
     message: '创建失败'
   })
 })
}

更多关于HarmonyOS鸿蒙Next中关于认证服务中手机号码认证的使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS鸿蒙Next中,手机号码认证服务是通过华为提供的统一认证服务(HUAWEI ID)实现的。开发者可以通过集成HUAWEI ID SDK,使用手机号码作为用户身份验证的方式。具体步骤如下:

  1. 集成HUAWEI ID SDK:在项目的build.gradle文件中添加HUAWEI ID SDK的依赖项,并配置相应的权限。

  2. 初始化HUAWEI ID服务:在应用启动时,调用AccountAuthServicegetService方法初始化HUAWEI ID服务。

  3. 请求手机号码认证:通过AccountAuthParams设置认证参数,指定使用手机号码进行认证。调用AccountAuthServicesignIn方法发起认证请求。

  4. 处理认证结果:在onActivityResult方法中处理认证结果,获取用户的手机号码信息。

  5. 使用认证信息:根据业务需求,使用获取到的手机号码信息进行后续操作,如用户注册、登录等。

代码示例:

AccountAuthParams authParams = new AccountAuthParams.Builder(AccountAuthParams.DEFAULT_AUTH_REQUEST_PARAM)
    .setIdToken()
    .setAccessToken()
    .setProfile()
    .setMobileNumber()
    .create();
AccountAuthService authService = AccountAuthManager.getService(activity, authParams);
authService.signIn(activity).addOnSuccessListener(authResult -> {
    // 处理认证成功
}).addOnFailureListener(e -> {
    // 处理认证失败
});

更多关于HarmonyOS鸿蒙Next中关于认证服务中手机号码认证的使用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,手机号码认证服务通过集成华为账号SDK实现。开发者需在AppGallery Connect中配置应用,获取agconnect-services.json文件,并在项目中引入华为账号SDK。通过调用AccountAuthServicesignIn方法,用户可使用手机号码进行认证。认证成功后,系统返回AuthAccount对象,包含用户信息。开发者需处理认证失败和用户取消等场景,确保应用安全性和用户体验。

回到顶部