js-apis-abilityAccessCtrl.md 10.4 KB

Ability Access Control

Provides program permission management capabilities, including authentication, authorization, and revocation.

NOTE

The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

import abilityAccessCtrl from '@ohos.abilityAccessCtrl'

abilityAccessCtrl.createAtManager

createAtManager(): AtManager

Creates an AtManager instance, which is used for ability access control.

System capability: SystemCapability.Security.AccessToken

Return value

Type Description
AtManager AtManager instance obtained.

Example

var AtManager = abilityAccessCtrl.createAtManager();

AtManager

Implements ability access control.

verifyAccessToken

verifyAccessToken(tokenID: number, permissionName: string): Promise<GrantStatus>

Checks whether an application has been granted the specified permission. This API uses a promise to return the result.

System capability: SystemCapability.Security.AccessToken

Parameters

Name Type Mandatory Description
tokenID number Yes ID of the application.
permissionName string Yes Name of the permission to verify.

Return value

Type Description
Promise<GrantStatus> Promise instance used to return the result.

Example

var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.verifyAccessToken(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
    console.log(`promise: data->${JSON.stringify(data)}`);
});

grantUserGrantedPermission

grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number): Promise<number>

Grants a user granted permission to an application. This API uses a promise to return the result.

This is a system API and cannot be called by third-party applications.

Required permissions: ohos.permission.GRANT_SENSITIVE_PERMISSIONS

System capability: SystemCapability.Security.AccessToken

Parameters

Name Type Mandatory Description
tokenID number Yes ID of the application.
permissionName string Yes Name of the permission to grant.
permissionFlag number Yes Permission flag. The value 1 means that a dialog box will still be displayed after the user grants or denies the permission. The value 2 means that no dialog box will be displayed after the user grants or denies the permission. The value 3 means a system permission that cannot be changed.

Return value

Type Description
Promise<number> Promise instance used to return the result.

Example

var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
let promise = AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", permissionFlag);
promise.then(data => {
    console.log(`promise: data->${JSON.stringify(data)}`);
});

grantUserGrantedPermission

grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number, callback: AsyncCallback<number>): void

Grants a user granted permission to an application. This API uses an asynchronous callback to return the result.

This is a system API and cannot be called by third-party applications.

Required permissions: ohos.permission.GRANT_SENSITIVE_PERMISSIONS

System capability: SystemCapability.Security.AccessToken

Parameters

Name Type Mandatory Description
tokenID number Yes ID of the application.
permissionName string Yes Name of the permission to grant.
permissionFlag number Yes Permission flag. The value 1 means that a dialog box will still be displayed after the user grants or denies the permission. The value 2 means that no dialog box will be displayed after the user grants or denies the permission. The value 3 means a system permission that cannot be changed.
callback AsyncCallback<number> Yes Callback used to return the result.

Example

var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", permissionFlag, (err, data) => {
    if (err) {
        console.log(`callback: err->${JSON.stringify(err)}`);
    } else {
        console.log(`callback: data->${JSON.stringify(data)}`);
    }
});

revokeUserGrantedPermission

revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number): Promise<number>

Revokes a user granted permission given to an application. This API uses a promise to return the result.

This is a system API and cannot be called by third-party applications.

Required permissions: ohos.permission.REVOKE_SENSITIVE_PERMISSIONS

System capability: SystemCapability.Security.AccessToken

Parameters

Name Type Mandatory Description
tokenID number Yes ID of the application.
permissionName string Yes Name of the permission to revoke.
permissionFlag number Yes Permission flag. The value 1 means that a dialog box will still be displayed after the user grants or denies the permission. The value 2 means that no dialog box will be displayed after the user grants or denies the permission. The value 3 means a system permission that cannot be changed.

Return value

Type Description
Promise<number> Promise instance used to return the result.

Example

var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
let promise = AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", permissionFlag);
promise.then(data => {
    console.log(`promise: data->${JSON.stringify(data)}`);
});

revokeUserGrantedPermission

revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number, callback: AsyncCallback<number>): void

Revokes a user granted permission given to an application. This API uses an asynchronous callback to return the result.

This is a system API and cannot be called by third-party applications.

Required permissions: ohos.permission.REVOKE_SENSITIVE_PERMISSIONS

System capability: SystemCapability.Security.AccessToken

Parameters

Name Type Mandatory Description
tokenID number Yes ID of the application.
permissionName string Yes Name of the permission to revoke.
permissionFlag number Yes Permission flag. The value 1 means that a dialog box will still be displayed after the user grants or denies the permission. The value 2 means that no dialog box will be displayed after the user grants or denies the permission. The value 3 means a system permission that cannot be changed.
callback AsyncCallback<number> Yes Callback used to return the result.

Example

var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", permissionFlag, (err, data) => {
    if (err) {
        console.log(`callback: err->${JSON.stringify(err)}`);
    } else {
        console.log(`callback: data->${JSON.stringify(data)}`);
    }
});

getPermissionFlags

getPermissionFlags(tokenID: number, permissionName: string): Promise<number>

Obtains the flags of the specified permission of a given application. This API uses a promise to return the result.

This is a system API and cannot be called by third-party applications.

Required permissions: ohos.permission.GET_SENSITIVE_PERMISSIONS, ohos.permission.GRANT_SENSITIVE_PERMISSIONS, or ohos.permission.REVOKE_SENSITIVE_PERMISSIONS

System capability: SystemCapability.Security.AccessToken

Parameters

Name Type Mandatory Description
tokenID number Yes ID of the application.
permissionName string Yes Name of the permission to query.

Return value

Type Description
Promise<number> Promise instance used to return the result.

Example

var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.getPermissionFlags(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
    console.log(`promise: data->${JSON.stringify(data)}`);
});

GrantStatus

Enumerates the permission grant states.

System capability: SystemCapability.Security.AccessToken

Name Default Value Description
PERMISSION_DENIED -1 Permission denied.
PERMISSION_GRANTED 0 Permission granted.
新手
引导
客服 返回
顶部