华为一键登录功能总结 HarmonyOS鸿蒙Next

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

华为一键登录功能总结 HarmonyOS鸿蒙Next

华为一键登录功能开发总结

一、华为登录介绍

Account Kit(华为帐号服务)提供简单、快速、安全的登录和授权功能,让用户无需输入帐号、密码和繁琐验证,避免因忘记密码而带来的麻烦,为您创建帐号并登录所有HarmonyOS应用和元服务,带来更高的注册转化,同时通过授权获得用户头像昵称、手机号码等信息,提升用户黏性。

二、华为登录开发前准备

1、AGC创建项目和应用

2、配置应用签名证书指纹

2.1 在DevEco Studio工具侧生成密钥(.p12)和证书请求文件(.csr)。

注意:保存时填写.p12和.csr 后缀名。

2.2 请根据以下使用场景,在AppGallery Connect侧申请应用证书(.cer)、Profile(.p7b)文件等。

3、配置签名证书指纹

4、在DevEco Studio侧配置签名信息,请参考配置签名信息

三、配置权限

1、项目配置应用 clientId

在项目module.json5文件中添加

"metadata": [
    {
        "name": "client_id",
        "value": "11002222"
    }
]

2、在AGC平台申请手机授权

四、华为登录实现

1、场景介绍

Account Kit开放手机号快速验证能力,用于帮助应用向用户发起手机号申请,应用在满足《常见类型移动互联网应用程序必要个人信息范围规定》(对第三方网站的内容,华为不承担任何责任)中使用手机号的必要业务场景,经用户同意后,应用可获取手机号,为用户提供相应服务。

该能力与手机号实时验证的区别为:

  1. 手机号快速验证,对用户选择的华为帐号绑定的手机号或者新增的手机号进行验证,但不保证是实时验证,首次需要用户授权;
  2. 手机号实时验证,对用户发起的每次请求,Account Kit均会对用户选择的手机号或者新增的手机号进行实时验证,以保证手机号的有效性。

2、说明

应用获取手机号之前,需要完成“获取您的手机号”的scope权限申请,详情参见scope权限申请手机号,scope审批未完成或未通过,将无法正常展示和获取用户授权手机号。

3、客户端开发

3.1 导入authentication模块及相关公共模块。

import { authentication } from '@kit.AccountKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { util } from '@kit.ArkTS';

3.2 创建授权请求并设置参数。

// 创建授权请求,并设置参数
let authRequest = new authentication.HuaweiIDProvider().createAuthorizationWithHuaweiIDRequest();

// 获取手机号需要传如下scope,传参数之前需要先申请对应scope权限,才能返回对应数据
authRequest.scopes = ['phone'];

// 获取code需传如下permission
authRequest.permissions = ['serviceauthcode'];

// 用户是否需要登录授权,该值为true且用户未登录或未授权时,会拉起用户登录或授权页面
authRequest.forceAuthorization = true;

// 用于防跨站点请求伪造,非空字符串即可
authRequest.state = util.generateRandomUUID();

3.3 调用AuthenticationController对象的executeRequest方法执行授权请求,并在Callback中处理授权结果,从授权结果中解析出Authorization Code。

// 执行请求
try {
    let controller = new authentication.AuthenticationController(getContext(this));
    controller.executeRequest(authRequest, (err, data) => {
        if (err) {
            hilog.error(0x0000, 'testTag', 'auth fail,error: %{public}s', JSON.stringify(err));
            return;
        }
        let authorizationWithHuaweiIDResponse = data as authentication.AuthorizationWithHuaweiIDResponse;
        let state = authorizationWithHuaweiIDResponse.state;
        if (state != undefined && authRequest.state != state) {
            hilog.error(0x0000, 'testTag', 'auth fail,The state is different: %{public}s',
                JSON.stringify(authorizationWithHuaweiIDResponse));
            return;
        }
        hilog.debug(0x0000, 'testTag', 'auth success: %{public}s',
            JSON.stringify(authorizationWithHuaweiIDResponse));
        let authorizationWithHuaweiIDCredential = authorizationWithHuaweiIDResponse.data!;
        let code = authorizationWithHuaweiIDCredential.authorizationCode;
        // 开发者处理code
    });
} catch (error) {
    hilog.error(0x0000, 'testTag', 'auth failed: %{public}s', JSON.stringify(error));
}

更多关于华为一键登录功能总结 HarmonyOS鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

申请了三次,都不通过,说什么有限范围开放,

更多关于华为一键登录功能总结 HarmonyOS鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


华为一键登录功能是HarmonyOS鸿蒙Next中的一项便捷功能,允许用户通过华为账号快速登录应用,无需手动输入账号和密码。该功能基于华为的Account Kit SDK实现,开发者只需集成该SDK,即可在应用中启用一键登录。

一键登录的核心是通过华为账号的授权机制,获取用户的授权信息。用户在首次使用时,需授权应用访问其华为账号信息。授权成功后,后续登录时,用户只需点击“一键登录”按钮,系统会自动验证用户身份并完成登录。

该功能支持多种登录方式,包括手机号码、邮箱等,并且可以与华为设备的生物识别功能(如指纹、面部识别)结合,进一步提升安全性和便捷性。此外,一键登录功能还支持跨设备登录,用户在同一华为账号下的不同设备上均可使用该功能。

在安全性方面,华为一键登录采用了多层加密和验证机制,确保用户数据的安全性。所有数据传输均通过加密通道进行,防止信息被窃取或篡改。同时,华为还提供了详细的开发者文档和API,帮助开发者快速集成和测试该功能。

总结来说,华为一键登录功能通过简化登录流程,提升用户体验,同时保证了数据的安全性,是HarmonyOS鸿蒙Next中的一项重要特性。

华为一键登录功能是HarmonyOS鸿蒙Next系统中的一项便捷登录服务,允许用户通过华为账号快速登录第三方应用,无需重复输入账号密码。该功能基于华为账号体系,通过安全认证机制确保用户隐私和数据安全。用户只需在支持该功能的应用中点击“一键登录”,系统会自动识别并授权登录,极大简化了登录流程,提升了用户体验。同时,华为一键登录还支持多设备同步,用户在不同设备上也能实现无缝登录。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!