华为一键登录功能总结 HarmonyOS鸿蒙Next
华为一键登录功能总结 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开放手机号快速验证能力,用于帮助应用向用户发起手机号申请,应用在满足《常见类型移动互联网应用程序必要个人信息范围规定》(对第三方网站的内容,华为不承担任何责任)中使用手机号的必要业务场景,经用户同意后,应用可获取手机号,为用户提供相应服务。
该能力与手机号实时验证的区别为:
- 手机号快速验证,对用户选择的华为帐号绑定的手机号或者新增的手机号进行验证,但不保证是实时验证,首次需要用户授权;
- 手机号实时验证,对用户发起的每次请求,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
申请了三次,都不通过,说什么有限范围开放,
更多关于华为一键登录功能总结 HarmonyOS鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
华为一键登录功能是HarmonyOS鸿蒙Next中的一项便捷功能,允许用户通过华为账号快速登录应用,无需手动输入账号和密码。该功能基于华为的Account Kit SDK实现,开发者只需集成该SDK,即可在应用中启用一键登录。
一键登录的核心是通过华为账号的授权机制,获取用户的授权信息。用户在首次使用时,需授权应用访问其华为账号信息。授权成功后,后续登录时,用户只需点击“一键登录”按钮,系统会自动验证用户身份并完成登录。
该功能支持多种登录方式,包括手机号码、邮箱等,并且可以与华为设备的生物识别功能(如指纹、面部识别)结合,进一步提升安全性和便捷性。此外,一键登录功能还支持跨设备登录,用户在同一华为账号下的不同设备上均可使用该功能。
在安全性方面,华为一键登录采用了多层加密和验证机制,确保用户数据的安全性。所有数据传输均通过加密通道进行,防止信息被窃取或篡改。同时,华为还提供了详细的开发者文档和API,帮助开发者快速集成和测试该功能。
总结来说,华为一键登录功能通过简化登录流程,提升用户体验,同时保证了数据的安全性,是HarmonyOS鸿蒙Next中的一项重要特性。