提交 36ec00fe 编写于 作者: F fanchenxuan

guideUpdate

Signed-off-by: Nfanchenxuan <fanchenxuan@huawei.com>
上级 0deeff72
...@@ -119,32 +119,24 @@ ...@@ -119,32 +119,24 @@
对访问者进行权限校验的开发步骤为: 对访问者进行权限校验的开发步骤为:
1. 获取调用者的身份标识:tokenId。 1. 获取ability的上下文context。
2. 识别需要校验的权限:permissionNameUser。 2. 调用requestPermissionsFromUser接口进行权限校验。
3. 对访问verifyAccessToken接口对当前调用者进行权限校验。 3. 根据权限校验结果采取对应的措施。
4. 根据权限校验结果采取对应的措施。
```js ```js
import {describe, beforeEach, afterEach, it, expect} from 'deccjsunit/index' //ability的onWindowStageCreate生命周期
import abilityAccessCtrl from '@ohos.abilityAccessCtrl' onWindowStageCreate() {
import bundle from '@ohos.bundle' var context = this.context
let array:Array<string> = ["ohos.permission.PERMISSION2"];
async requestPermission() { //requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗
var permissionNameUser = "ohos.permission.PERMISSION2"; context.requestPermissionsFromUser(array).then(function(data) {
var bundleFlag = 0; console.log("data type:" + typeof(data));
var tokenID = undefined; console.log("data:" + data);
var userID = 100; console.log("data permissions:" + data.permissions);
var appInfo = await bundle.getApplicationInfo('ohos.acts.security.access_token.normal', bundleFlag, userID); console.log("data result:" + data.authResults);
tokenID = appInfo.accessTokenId; }, (err) => {
console.log("AccessTokenTest accessTokenId:" + appInfo.accessTokenId + ", name:" + appInfo.name console.error('Failed to start ability', err.code);
+ ", bundleName:" + appInfo.bundleName) });
var atManager = abilityAccessCtrl.createAtManager();
var result = await atManager.verifyAccessToken(tokenID, permissionNameUser);
if (result == abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED) {
// 执行操作
} else {
// 申请动态授权,使用接口:requestPermissionsFromUser
}
} }
``` ```
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册