harmony 鸿蒙认证域账号(仅对系统应用开放)
认证域账号(仅对系统应用开放)
当需要验证域账号身份(比如屏幕解锁、登录会话失效等场景)时,可以使用系统提供的接口对域账号进行身份认证。
开发准备
导入系统账号模块。
import { osAccount } from '@kit.BasicServicesKit';
使用密码认证域账号
用户可以使用密码认证域账号。开发者可以使用auth接口完成此操作。此外使用该接口,应用还需要申请ohos.permission.ACCESS_USER_AUTH_INTERNAL权限。
具体开发实例如下:
申请权限:ohos.permission.ACCESS_USER_AUTH_INTERNAL。申请流程请参考:申请应用权限。
获取用户输入,包括域账号信息和域账号密码。
let domainAccountInfo: osAccount.DomainAccountInfo = {
domain: 'CHINA',
accountName: 'zhangsan'
}
let credential: Uint8Array = new Uint8Array([0]);
- 定义认证结果回调。
let callback: osAccount.IUserAuthCallback = {
onResult: (resultCode: number, authResult: osAccount.AuthResult) => {
console.log('auth resultCode = ' + resultCode);
console.log('auth authResult = ' + JSON.stringify(authResult));
}
}
- 调用auth接口进行密码认证。
try {
osAccount.DomainAccountManager.auth(domainAccountInfo, credential, callback);
} catch (err) {
console.error('auth exception = ' + JSON.stringify(err));
}
弹窗认证域账号
在无法获取用户密码的情况下,需要认证域账号时,可以请求系统弹窗验证域账号用户。开发者可以使用authWithPopup完成此操作。
具体开发实例如下:
- 定义认证结果回调对象。
let callback: osAccount.IUserAuthCallback = {
onResult: (resultCode: number, authResult: osAccount.AuthResult) => {
console.log('authWithPopup resultCode = ' + resultCode);
console.log('authWithPopup authResult = ' + JSON.stringify(authResult));
}
}
- 调用authWithPopup接口弹窗认证当前域账号。
try {
osAccount.DomainAccountManager.authWithPopup(callback)
} catch (err) {
console.error('authWithPopup exception = ' + JSON.stringify(err));
}
你可能感兴趣的鸿蒙文章
0
赞
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦