Ability Access Control
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.
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 promise = AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
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.
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, data => {
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.
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.
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;
AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
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.
Required permissions: ohos.permission.GET_SENSITIVE_PERMISSIONS, GRANT_SENSITIVE_PERMISSIONS, or 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. |