App Account Management
NOTE
The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
Modules to Import
import account_appAccount from '@ohos.account.appAccount';
account_appAccount.createAppAccountManager
createAppAccountManager(): AppAccountManager
Creates an AppAccountManager instance.
System capability: SystemCapability.Account.AppAccount
Return Value
Type | Description |
---|---|
AppAccountManager | AppAccountManager instance created. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
AppAccountManager
Provides methods to manage app accounts.
addAccount
addAccount(name: string, callback: AsyncCallback<void>): void
Adds an app account to the account management service. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | Name of the app account to add. |
callback | AsyncCallback<void> | Yes | Callback invoked when the app account is added. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccount("WangWu", (err) => {
console.log("addAccount err: " + JSON.stringify(err));
});
addAccount
addAccount(name: string, extraInfo: string, callback: AsyncCallback<void>): void
Adds an app account and its additional information to the account management service. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | Name of the app account to add. |
extraInfo | string | Yes | Additional information (for example, token) of the app account to add. The additional information cannot contain sensitive information about the app account. |
callback | AsyncCallback<void> | Yes | Callback invoked when the app account and its additional information are added. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccount("LiSi", "token101", (err) => {
console.log("addAccount err: " + JSON.stringify(err));
});
addAccount
addAccount(name: string, extraInfo?: string): Promise<void>
Adds an app account and its additional information to the account management service. This method uses a promise to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | Name of the app account to add. |
extraInfo | string | Yes | Additional information of the app account to add. The additional information cannot contain sensitive information about the app account. |
Return Value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccount("LiSi", "token101").then(()=> {
console.log('addAccount Success');
}).catch((err) => {
console.log("addAccount err: " + JSON.stringify(err));
});
addAccountImplicitly8+
addAccountImplicitly(owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
Implicitly adds an app account based on the specified account owner, authentication type, and options. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
owner | string | Yes | Bundle name of the app account to add. |
authType | string | Yes | Authentication type of the app account to add. |
options | {[key: string]: any} | Yes | Options for the authentication. |
callback | AuthenticatorCallback | Yes | Authenticator callback invoked to return the authentication result. |
Example
import featureAbility from '@ohos.ability.featureAbility';
function onResultCallback(code, result) {
console.log("resultCode: " + code);
console.log("result: " + JSON.stringify(result));
}
function onRequestRedirectedCallback(request) {
let abilityStartSetting = {want: request};
featureAbility.startAbility(abilityStartSetting, (err)=>{
console.log("startAbility err: " + JSON.stringify(err));
});
}
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccountImplicitly("LiSi", "readAge", {}, {
onResult: onResultCallback,
onRequestRedirected: onRequestRedirectedCallback
});
deleteAccount
deleteAccount(name: string, callback: AsyncCallback<void>): void
Deletes an app account from the account management service. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | Name of the app account to delete. |
callback | AsyncCallback<void> | Yes | Callback invoked when the app account is deleted. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteAccount("ZhaoLiu", (err) => {
console.log("deleteAccount err: " + JSON.stringify(err));
});
deleteAccount
deleteAccount(name: string): Promise<void>
Deletes an app account from the account management service. This method uses a promise to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | Name of the app account to delete. |
Return Value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteAccount("ZhaoLiu").then(() => {
console.log('deleteAccount Success');
}).catch((err) => {
console.log("deleteAccount err: " + JSON.stringify(err));
});
disableAppAccess
disableAppAccess(name: string, bundleName: string, callback: AsyncCallback<void>): void
Disables an app account from accessing an application with the given bundle name. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
bundleName | string | Yes | Bundle name of an app. |
callback | AsyncCallback<void> | Yes | Callback invoked when the app account is disabled from accessing the application with the given bundle name. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.disableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo", (err) => {
console.log("disableAppAccess err: " + JSON.stringify(err));
});
disableAppAccess
disableAppAccess(name: string, bundleName: string): Promise<void>
Disables an app account from accessing an application with the given bundle name. This method uses a promise to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
bundleName | string | Yes | Bundle name of an app. |
Return Value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.disableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo").then(() => {
console.log('disableAppAccess Success');
}).catch((err) => {
console.log("disableAppAccess err: " + JSON.stringify(err));
});
enableAppAccess
enableAppAccess(name: string, bundleName: string, callback: AsyncCallback<void>): void
Enables an app account to access an application with the given bundle name. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
bundleName | string | Yes | Bundle name of an app. |
callback | AsyncCallback<void> | Yes | Callback invoked when the app account is enabled to access the application with the given bundle name. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.enableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo", (err) => {
console.log("enableAppAccess: " + JSON.stringify(err));
});
enableAppAccess
enableAppAccess(name: string, bundleName: string): Promise<void>
Enables an app account to access an application with the given bundle name. This method uses a promise to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
bundleName | string | Yes | Bundle name of an app. |
Return Value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
app_account_instance.enableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo").then(() => {
console.log('enableAppAccess Success');
}).catch((err) => {
console.log("enableAppAccess err: " + JSON.stringify(err));
});
checkAppAccountSyncEnable
checkAppAccountSyncEnable(name: string, callback: AsyncCallback<boolean>): void
Checks whether an app account allows application data synchronization. This method uses an asynchronous callback to return the result.
Required permissions: ohos.permission.DISTRIBUTED_DATASYNC (available only to system applications)
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
callback | AsyncCallback<boolean> | Yes | Callback used to return whether the app account allows application data synchronization. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkAppAccountSyncEnable("ZhangSan", (err, result) => {
console.log("checkAppAccountSyncEnable err: " + JSON.stringify(err));
console.log('checkAppAccountSyncEnable result: ' + result);
});
checkAppAccountSyncEnable
checkAppAccountSyncEnable(name: string): Promise<boolean>
Checks whether an app account allows application data synchronization. This method uses a promise to return the result.
Required permissions: ohos.permission.DISTRIBUTED_DATASYNC (available only to system applications)
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
Return Value
Type | Description |
---|---|
Promise<boolean> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkAppAccountSyncEnable("ZhangSan").then((data) => {
console.log('checkAppAccountSyncEnable, result: ' + data);
}).catch((err) => {
console.log("checkAppAccountSyncEnable err: " + JSON.stringify(err));
});
setAccountCredential
setAccountCredential(name: string, credentialType: string, credential: string,callback: AsyncCallback<void>): void
Sets a credential for an app account. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
credentialType | string | Yes | Type of the credential to set. |
credential | string | Yes | Credential to set. |
callback | AsyncCallback<void> | Yes | Callback invoked when a credential is set for the specified app account. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001", (err) => {
console.log("setAccountCredential err: " + JSON.stringify(err));
});
setAccountCredential
setAccountCredential(name: string, credentialType: string, credential: string): Promise<void>
Sets a credential for an app account. This method uses a promise to return the result asynchronously.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
credentialType | string | Yes | Type of the credential to set. |
credential | string | Yes | Credential to set. |
Return Value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001").then(() => {
console.log('setAccountCredential Success');
}).catch((err) => {
console.log("setAccountCredential err: " + JSON.stringify(err));
});
setAccountExtraInfo
setAccountExtraInfo(name: string, extraInfo: string, callback: AsyncCallback<void>): void
Sets additional information for an app account. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
extraInfo | string | Yes | Additional information to set. |
callback | AsyncCallback<void> | Yes | Callback invoked when additional information is set for the specified app account. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002", (err) => {
console.log("setAccountExtraInfo err: " + JSON.stringify(err));
});
setAccountExtraInfo
setAccountExtraInfo(name: string, extraInfo: string): Promise<void>
Sets additional information for an app account. This method uses a promise to return the result asynchronously.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
extraInfo | string | Yes | Additional information to set. |
Return Value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002").then(() => {
console.log('setAccountExtraInfo Success');
}).catch((err) => {
console.log("setAccountExtraInfo err: " + JSON.stringify(err));
});
setAppAccountSyncEnable
setAppAccountSyncEnable(name: string, isEnable: boolean, callback: AsyncCallback<void>): void
Sets whether to enable application data synchronization for an app account. This method uses an asynchronous callback to return the result.
Required permissions: ohos.permission.DISTRIBUTED_DATASYNC (available only to system applications)
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
isEnable | boolean | Yes | Whether to enable app data synchronization. |
callback | AsyncCallback<void> | Yes | Callback invoked when application data synchronization is enabled or disabled for the app account. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAppAccountSyncEnable("ZhangSan", true, (err) => {
console.log("setAppAccountSyncEnable err: " + JSON.stringify(err));
});
setAppAccountSyncEnable
setAppAccountSyncEnable(name: string, isEnable: boolean): Promise<void>
Sets whether to enable application data synchronization for an app account. This method uses a promise to return the result asynchronously.
Required permissions: ohos.permission.DISTRIBUTED_DATASYNC (available only to system applications)
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
isEnable | boolean | Yes | Whether to enable app data synchronization. |
Return Value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager .setAppAccountSyncEnable("ZhangSan", true).then(() => {
console.log('setAppAccountSyncEnable Success');
}).catch((err) => {
console.log("setAppAccountSyncEnable err: " + JSON.stringify(err));
});
setAssociatedData
setAssociatedData(name: string, key: string, value: string, callback: AsyncCallback<void>): void
Sets data to be associated with an app account. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
key | string | Yes | Key of the data to set. The private key can be customized. |
value | string | Yes | Value of the data to be set. |
callback | AsyncCallback<void> | Yes | Callback invoked when the data associated with the specified app account is set. |
Example
app_account_instance.setAssociatedData("ZhangSan", "k001", "v001", (err) => {
console.log("setAssociatedData err: " + JSON.stringify(err));
});
setAssociatedData
setAssociatedData(name: string, key: string, value: string): Promise<void>
Sets data to be associated with an app account. This method uses a promise to return the result asynchronously.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
key | string | Yes | Key of the data to set. The private key can be customized. |
value | string | Yes | Value of the data to be set. |
Return Value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAssociatedData("ZhangSan", "k001", "v001").then(() => {
console.log('setAssociatedData Success');
}).catch((err) => {
console.log("setAssociatedData err: " + JSON.stringify(err));
});
getAccountCredential
getAccountCredential(name: string, credentialType: string, callback: AsyncCallback<string>): void
Obtains the credential of an app account. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
credentialType | string | Yes | Type of the credential to obtain. |
callback | AsyncCallback<string> | Yes | Callback invoked to return the credential of the specified app account. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountCredential("ZhangSan", "credentialType001", (err, result) => {
console.log("getAccountCredential err: " + JSON.stringify(err));
console.log('getAccountCredential result: ' + result);
});
getAccountCredential
getAccountCredential(name: string, credentialType: string): Promise<string>
Obtains the credential of an app account. This method uses a promise to return the result asynchronously.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
credentialType | string | Yes | Type of the credential to obtain. |
Return Value
Type | Description |
---|---|
Promise<string> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountCredential("ZhangSan", "credentialType001").then((data) => {
console.log('getAccountCredential, result: ' + data);
}).catch((err) => {
console.log("getAccountCredential err: " + JSON.stringify(err));
});
getAccountExtraInfo
getAccountExtraInfo(name: string, callback: AsyncCallback<string>): void
Obtains additional information of an app account. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
callback | AsyncCallback<string> | Yes | Callback invoked to return the additional information of the specified app account. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountExtraInfo("ZhangSan", (err, result) => {
console.log("getAccountExtraInfo err: " + JSON.stringify(err));
console.log('getAccountExtraInfo result: ' + result);
});
getAccountExtraInfo
getAccountExtraInfo(name: string): Promise<string>
Obtains additional information of an app account. This method uses a promise to return the result asynchronously.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
Return Value
Type | Description |
---|---|
Promise<string> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountExtraInfo("ZhangSan").then((data) => {
console.log('getAccountExtraInfo, result: ' + data);
}).catch((err) => {
console.log("getAccountExtraInfo err: " + JSON.stringify(err));
});
getAssociatedData
getAssociatedData(name: string, key: string, callback: AsyncCallback<string>): void
Obtains data associated with an app account. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
key | string | Yes | Key of the data to obtain. |
callback | AsyncCallback<string> | Yes | Callback invoked to return the data associated with the specified app account. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAssociatedData("ZhangSan", "k001", (err, result) => {
console.log("getAssociatedData err: " + JSON.stringify(err));
console.log('getAssociatedData result: ' + result);
});
getAssociatedData
getAssociatedData(name: string, key: string): Promise<string>
Obtains data associated with an app account. This method uses a promise to return the result asynchronously.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
key | string | Yes | Key of the data to obtain. |
Return Value
Type | Description |
---|---|
Promise<string> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAssociatedData("ZhangSan", "k001").then((data) => {
console.log('getAssociatedData: ' + data);
}).catch((err) => {
console.log("getAssociatedData err: " + JSON.stringify(err));
});
getAllAccessibleAccounts
getAllAccessibleAccounts(callback: AsyncCallback<Array<AppAccountInfo>>): void
Obtains information about all accessible app accounts. This method uses an asynchronous callback to return the result.
Required permissions: ohos.permission.GET_ALL_APP_ACCOUNTS (available only to system applications)
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<Array<AppAccountInfo>> | Yes | Callback invoked to return information about all accessible app accounts. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllAccessibleAccounts((err, data)=>{
console.debug("getAllAccessibleAccounts err:" + JSON.stringify(err));
console.debug("getAllAccessibleAccounts data:" + JSON.stringify(data));
});
getAllAccessibleAccounts
getAllAccessibleAccounts(): Promise<Array<AppAccountInfo>>
Obtains information about all accessible app accounts. This method uses an asynchronous callback to return the result.
Required permissions: ohos.permission.GET_ALL_APP_ACCOUNTS (available only to system applications)
System capability: SystemCapability.Account.AppAccount
Parameters
Type | Description |
---|---|
Promise<Array<AppAccountInfo>> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllAccessibleAccounts().then((data) => {
console.log('getAllAccessibleAccounts: ' + data);
}).catch((err) => {
console.log("getAllAccessibleAccounts err: " + JSON.stringify(err));
});
getAllAccounts
getAllAccounts(owner: string, callback: AsyncCallback<Array<AppAccountInfo>>): void
Obtains information about all app accounts of the specified app. This method uses an asynchronous callback to return the result.
Required permissions: ohos.permission.GET_ALL_APP_ACCOUNTS (available only to system applications)
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
owner | string | Yes | Bundle name of the app. |
callback | AsyncCallback<Array<AppAccountInfo>> | Yes | Callback invoked to return information about all accessible app accounts. |
Example
const appAccountManager = account.createAppAccountManager();
const selfBundle = "com.example.actsgetallaaccounts";
appAccountManager.getAllAccounts(selfBundle, (err, data)=>{
console.debug("getAllAccounts err:" + JSON.stringify(err));
console.debug("getAllAccounts data:" + JSON.stringify(data));
});
getAllAccounts
getAllAccounts(owner: string): Promise<Array<AppAccountInfo>>
Obtains information about all app accounts of the specified app. This method uses an asynchronous callback to return the result.
Required permissions: ohos.permission.GET_ALL_APP_ACCOUNTS (available only to system applications)
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
owner | string | Yes | Bundle name of the app. |
Parameters
Type | Description |
---|---|
Promise<Array<AppAccountInfo>> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
const selfBundle = "com.example.actsgetallaaccounts";
appAccountManager.getAllAccounts(selfBundle).then((data) => {
console.log('getAllAccounts: ' + data);
}).catch((err) => {
console.log("getAllAccounts err: " + JSON.stringify(err));
});
on('change')
on(type: 'change', owners: Array<string>, callback: Callback<Array<AppAccountInfo>>): void
Subscribes to the account change event of the specified account owners. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | 'change' | Yes | Type of the event to subscribe to. The subscriber will receive a notification when the account owners update their accounts. |
owners | Array<string> | Yes | Owners of the accounts. |
callback | Callback<Array<AppAccountInfo>> | Yes | Callback invoked to return the account change. |
Example
const appAccountManager = account.createAppAccountManager();
function changeOnCallback(data){
console.debug("receive change data:" + JSON.stringify(data));
}
try{
appAccountManager.on('change', ["com.example.actsaccounttest"], changeOnCallback);
}
catch(err){
console.error("on accountOnOffDemo err:" + JSON.stringify(err));
}
off('change')
off(type: 'change', callback?: Callback<Array<AppAccountInfo>>): void
Unsubscribes from the account change event. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | 'change' | Yes | Account change event to unsubscribe from. |
callback | Callback<Array<AppAccountInfo>> | No | Callback used to report the account change. |
Example
const appAccountManager = account.createAppAccountManager();
function changeOnCallback(data){
console.debug("receive change data:" + JSON.stringify(data));
appAccountManager.off('change', function(){
console.debug("off finish");
})
}
try{
appAccountManager.on('change', ["com.example.actsaccounttest"], changeOnCallback);
}
catch(err){
console.error("on accountOnOffDemo err:" + JSON.stringify(err));
}
authenticate8+
authenticate(name: string, owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
Authenticates an app account to obtain the Open Authorization (OAuth) access token. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | Name of the app account to authenticate. |
owner | string | Yes | Bundle name of the app. |
authType | string | Yes | Authentication type. |
options | {[key: string]: any} | Yes | Options for the authentication. |
callback | AuthenticatorCallback | Yes | Authenticator callback invoked to return the authentication result. |
Example
import featureAbility from '@ohos.ability.featureAbility';
function onResultCallback(code, result) {
console.log("resultCode: " + code);
console.log("result: " + JSON.stringify(result));
}
function onRequestRedirectedCallback(request) {
let abilityStartSetting = {want: request};
featureAbility.startAbility(abilityStartSetting, (err)=>{
console.log("startAbility err: " + JSON.stringify(err));
});
}
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.authenticate("LiSi", "com.example.ohos.accountjsdemo", "readAge", {}, {
onResult: onResultCallback,
onRequestRedirected: onRequestRedirectedCallback
});
getOAuthToken8+
getOAuthToken(name: string, owner: string, authType: string, callback: AsyncCallback<string>): void
Obtains the OAuth access token of an app account based on the specified authentication type. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
owner | string | Yes | Bundle name of the app. |
authType | string | Yes | Authentication type. |
callback | AsyncCallback<string> | Yes | Callback invoked to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge", (err, data) => {
console.log('getOAuthToken err: ' + JSON.stringify(err));
console.log('getOAuthToken token: ' + data);
});
getOAuthToken8+
getOAuthToken(name: string, owner: string, authType: string): Promise<string>
Obtains the OAuth access token of an app account based on the specified authentication type. This method uses a promise to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
owner | string | Yes | Bundle name of the app. |
authType | string | Yes | Authentication type. |
Parameters
Type | Description |
---|---|
Promise<string> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge").then((data) => {
console.log('getOAuthToken token: ' + data);
}).catch((err) => {
console.log("getOAuthToken err: " + JSON.stringify(err));
});
setOAuthToken8+
setOAuthToken(name: string, authType: string, token: string, callback: AsyncCallback<void>): void
Sets an OAuth access token for an app account. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
authType | string | Yes | Authentication type. |
token | string | Yes | OAuth access token to set. |
callback | AsyncCallback<void> | Yes | Callback invoked to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthToken("LiSi", "readAge", "xxxx", (err) => {
console.log('setOAuthToken err: ' + JSON.stringify(err));
});
setOAuthToken8+
setOAuthToken(name: string, authType: string, token: string): Promise<void>
Sets an OAuth access token for an app account. This method uses a promise to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
authType | string | Yes | Authentication type. |
token | string | Yes | OAuth access token to set. |
Parameters
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthToken("LiSi", "readAge", "xxxx").then(() => {
console.log('setOAuthToken successfully');
}).catch((err) => {
console.log('setOAuthToken err: ' + JSON.stringify(err));
});
deleteOAuthToken8+
deleteOAuthToken(name: string, owner: string, authType: string, token: string, callback: AsyncCallback<void>): void
Deletes the specified OAuth access token for an app account. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
owner | string | Yes | Bundle name of the app. |
authType | string | Yes | Authentication type. |
token | string | Yes | OAuth access token to delete. |
callback | AsyncCallback<void> | Yes | Callback invoked to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge", "xxxxx", (err) => {
console.log('deleteOAuthToken err: ' + JSON.stringify(err));
});
deleteOAuthToken8+
deleteOAuthToken(name: string, owner: string, authType: string, token: string): Promise<void>
Deletes the specified OAuth access token for an app account. This method uses a promise to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
owner | string | Yes | Bundle name of the app. |
authType | string | Yes | Authentication type. |
token | string | Yes | OAuth access token to delete. |
Parameters
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge", "xxxxx").then(() => {
console.log('deleteOAuthToken successfully');
}).catch((err) => {
console.log("deleteOAuthToken err: " + JSON.stringify(err));
});
setOAuthTokenVisibility8+
setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean, callback: AsyncCallback<void>): void
Sets the visibility of an OAuth access token to the specified app. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
authType | string | Yes | Authentication type. |
bundleName | string | Yes | Bundle name of the app. |
isVisible | boolean | Yes | Whether the OAuth access token is visible to the app. |
callback | AsyncCallback<void> | Yes | Callback invoked to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true, (err) => {
console.log('setOAuthTokenVisibility err: ' + JSON.stringify(err));
});
setOAuthTokenVisibility8+
setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean): Promise<void>
Sets the visibility of an OAuth access token to the specified app. This method uses a promise to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
authType | string | Yes | Authentication type. |
bundleName | string | Yes | Bundle name of the app. |
isVisible | boolean | Yes | Whether the OAuth access token is visible to the app. |
Parameters
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true).then(() => {
console.log('setOAuthTokenVisibility successfully');
}).catch((err) => {
console.log('setOAuthTokenVisibility err: ' + JSON.stringify(err));
});
checkOAuthTokenVisibility8+
checkOAuthTokenVisibility(name: string, authType: string, bundleName: string, callback: AsyncCallback<boolean>): void
Checks whether an OAuth token is visible to the specified app. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
authType | string | Yes | Authentication type. |
bundleName | string | Yes | Bundle name of the app. |
callback | AsyncCallback<boolean> | Yes | Callback invoked to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true, (err, data) => {
console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err));
console.log('checkOAuthTokenVisibility isVisible: ' + data);
});
checkOAuthTokenVisibility8+
checkOAuthTokenVisibility(name: string, authType: string, bundleName: string): Promise<boolean>
Checks whether an OAuth token is visible to the specified app. This method uses a promise to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
authType | string | Yes | Authentication type. |
bundleName | string | Yes | Bundle name of the app. |
Parameters
Type | Description |
---|---|
Promise<boolean> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true).then((data) => {
console.log('checkOAuthTokenVisibility isVisible: ' + data);
}).catch((err) => {
console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err));
});
getAllOAuthTokens8+
getAllOAuthTokens(name: string, owner: string, callback: AsyncCallback<Array<OAuthTokenInfo>>): void
Obtains information about all OAuth access tokens of an app account visible to the specified app. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
owner | string | Yes | Bundle name of the app. |
callback | AsyncCallback<Array<OAuthTokenInfo>> | Yes | Callback invoked to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllOAuthTokens("LiSi", "com.example.ohos.accountjsdemo", (err, data) => {
console.log("getAllOAuthTokens err: " + JSON.stringify(err));
console.log('getAllOAuthTokens data: ' + JSON.stringify(data));
});
getAllOAuthTokens8+
getAllOAuthTokens(name: string, owner: string): Promise<Array<OAuthTokenInfo>>
Obtains information about all OAuth access tokens of an app account visible to the specified app. This method uses a promise to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
owner | string | Yes | Bundle name of the app. |
Parameters
Type | Description |
---|---|
Promise<Array<OAuthTokenInfo>> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllOAuthTokens("LiSi", "com.example.ohos.accountjsdemo").then((data) => {
console.log('getAllOAuthTokens data: ' + JSON.stringify(data));
}).catch((err) => {
console.log("getAllOAuthTokens err: " + JSON.stringify(err));
});
getOAuthList8+
getOAuthList(name: string, authType: string, callback: AsyncCallback<Array<string>>): void
Obtains the authorization list of OAuth access tokens of an app account. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
owner | string | Yes | Bundle name of the app. |
callback | AsyncCallback<Array<string>> | Yes | Callback invoked to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthList("com.example.ohos.accountjsdemo", "readAge", (err, data) => {
console.log('getOAuthList err: ' + JSON.stringify(err));
console.log('getOAuthList data: ' + JSON.stringify(data));
});
getOAuthList8+
getOAuthList(name: string, authType: string): Promise<Array<string>>
Obtains the authorization list of OAuth access tokens of an app account. This method uses a promise to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
owner | string | Yes | Bundle name of the app. |
Parameters
Type | Description |
---|---|
Promise<Array<string>> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthList("com.example.ohos.accountjsdemo", "readAge").then((data) => {
console.log('getOAuthList data: ' + JSON.stringify(data));
}).catch((err) => {
console.log("getOAuthList err: " + JSON.stringify(err));
});
getAuthenticatorCallback8+
getAuthenticatorCallback(sessionId: string, callback: AsyncCallback<AuthenticatorCallback>): void
Obtains the authenticator callback for a session. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
sessionId | string | Yes | ID of the session to authenticate. |
callback | AsyncCallback<AuthenticatorCallback> | Yes | Callback invoked to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
featureAbility.getWant((err, want) => {
var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
appAccountManager.getAuthenticatorCallback(sessionId, (err, callback) => {
if (err.code != account_appAccount.ResultCode.SUCCESS) {
console.log("getAuthenticatorCallback err: " + JSON.stringify(err));
return;
}
var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
[account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",
[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);
});
});
getAuthenticatorCallback8+
getAuthenticatorCallback(sessionId: string): Promise<AuthenticatorCallback>
Obtains the authenticator callback for a session. This method uses a promise to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
sessionId | string | Yes | ID of the session to authenticate. |
Parameters
Type | Description |
---|---|
Promise<AuthenticatorCallback> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
featureAbility.getWant().then((want) => {
var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
[account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",
[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);
}).catch((err) => {
console.log("getAuthenticatorCallback err: " + JSON.stringify(err));
});
}).catch((err) => {
console.log("getWant err: " + JSON.stringify(err));
});
getAuthenticatorInfo8+
getAuthenticatorInfo(owner: string, callback: AsyncCallback<AuthenticatorInfo>): void
Obtains authenticator information of an app account. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
owner | string | Yes | Bundle name of the app. |
callback | AsyncCallback<AuthenticatorInfo> | Yes | Callback invoked to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAuthenticatorInfo("com.example.ohos.accountjsdemo", (err, data) => {
console.log("getAuthenticatorInfo err: " + JSON.stringify(err));
console.log('getAuthenticatorInfo data: ' + JSON.stringify(data));
});
getAuthenticatorInfo8+
getAuthenticatorInfo(owner: string): Promise<AuthenticatorInfo>
Obtains authenticator information of an app account. This method uses a promise to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
owner | string | Yes | Bundle name of the app. |
Parameters
Type | Description |
---|---|
Promise<AuthenticatorInfo> | Promise used to return the result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAuthenticatorInfo("com.example.ohos.accountjsdemo").then((data) => {
console.log('getAuthenticatorInfo: ' + JSON.stringify(data));
}).catch((err) => {
console.log("getAuthenticatorInfo err: " + JSON.stringify(err));
});
AppAccountInfo
Defines app account information.
System capability: SystemCapability.Account.AppAccount
Name | Type | Mandatory | Description |
---|---|---|---|
owner | string | Yes | Bundle name of the app. |
name | string | Yes | App account name. |
OAuthTokenInfo8+
Defines OAuth access token information.
System capability: SystemCapability.Account.AppAccount
Name | Type | Mandatory | Description |
---|---|---|---|
authType | string | Yes | Authentication type. |
token | string | Yes | Value of the access token. |
AuthenticatorInfo8+
Defines OAuth authenticator information.
System capability: SystemCapability.Account.AppAccount
Name | Type | Mandatory | Description |
---|---|---|---|
owner | string | Yes | Bundle name of the authenticator owner. |
iconId | string | Yes | ID of the authenticator icon. |
labelId | string | Yes | ID of the authenticator label. |
Constants8+
Enumerates the constants.
System capability: SystemCapability.Account.AppAccount
Name | Default Value | Description |
---|---|---|
ACTION_ADD_ACCOUNT_IMPLICITLY | "addAccountImplicitly" | Operation for implicitly adding an account. |
ACTION_AUTHENTICATE | "authenticate" | Authentication operation. |
KEY_NAME | "name" | App account name. |
KEY_OWNER | "owner" | App account owner. |
KEY_TOKEN | "token" | OAuth access token. |
KEY_ACTION | "action" | Action. |
KEY_AUTH_TYPE | "authType" | Authentication type. |
KEY_SESSION_ID | "sessionId" | Session ID. |
KEY_CALLER_PID | "callerPid" | Caller process ID (PID). |
KEY_CALLER_UID | "callerUid" | Caller user ID (UID). |
KEY_CALLER_BUNDLE_NAME | "callerBundleName" | Caller bundle name. |
ResultCode8+
Enumerates the result codes.
System capability: SystemCapability.Account.AppAccount
Name | Default Value | Description |
---|---|---|
SUCCESS | 0 | The operation is successful. |
ERROR_ACCOUNT_NOT_EXIST | 10001 | The app account does not exist. |
ERROR_APP_ACCOUNT_SERVICE_EXCEPTION | 10002 | The app account service is abnormal. |
ERROR_INVALID_PASSWORD | 10003 | The password is invalid. |
ERROR_INVALID_REQUEST | 10004 | The request is invalid. |
ERROR_INVALID_RESPONSE | 10005 | The response is invalid. |
ERROR_NETWORK_EXCEPTION | 10006 | The network is abnormal. |
ERROR_OAUTH_AUTHENTICATOR_NOT_EXIST | 10007 | The authenticator does not exist. |
ERROR_OAUTH_CANCELED | 10008 | The authentication is canceled. |
ERROR_OAUTH_LIST_TOO_LARGE | 10009 | The size of the OAuth list exceeds the limit. |
ERROR_OAUTH_SERVICE_BUSY | 10010 | The OAuth service is busy. |
ERROR_OAUTH_SERVICE_EXCEPTION | 10011 | The OAuth service is abnormal. |
ERROR_OAUTH_SESSION_NOT_EXIST | 10012 | The session to be authenticated does not exist. |
ERROR_OAUTH_TIMEOUT | 10013 | The authentication timed out. |
ERROR_OAUTH_TOKEN_NOT_EXIST | 10014 | The OAuth access token does not exist. |
ERROR_OAUTH_TOKEN_TOO_MANY | 10015 | The number of OAuth access tokens reaches the limit. |
ERROR_OAUTH_UNSUPPORT_ACTION | 10016 | The authentication operation is not supported. |
ERROR_OAUTH_UNSUPPORT_AUTH_TYPE | 10017 | The authentication type is not supported. |
ERROR_PERMISSION_DENIED | 10018 | The required permission is missing. |
AuthenticatorCallback8+
Provides methods for managing the OAuth authenticator callback.
onResult8+
onResult: (code: number, result: {[key: string]: any}) => void
Called back to send the authentication result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
code | number | Yes | Authentication result code. |
result | {[key: string]: any} | Yes | Authentication result. |
Example
const appAccountManager = account_appAccount.createAppAccountManager();
var sessionId = "1234";
appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
[account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",
[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);
}).catch((err) => {
console.log("getAuthenticatorCallback err: " + JSON.stringify(err));
});
onRequestRedirected8+
onRequestRedirected: (request: Want) => void
Called back to redirect an authentication request.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
request | Want | Yes | Request to be redirected. |
Example
class MyAuthenticator extends account_appAccount.Authenticator {
addAccountImplicitly(authType, callerBundleName, options, callback) {
callback.onRequestRedirected({
bundleName: "com.example.ohos.accountjsdemo",
abilityName: "com.example.ohos.accountjsdemo.LoginAbility",
});
}
authenticate(name, authType, callerBundleName, options, callback) {
var result = {[account_appAccount.Constants.KEY_NAME]: name,
[account_appAccount.Constants.KEY_AUTH_TYPE]: authType,
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
}
}
Authenticator8+
Defines the OAuth authenticator base class.
addAccountImplicitly8+
addAccountImplicitly(authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
Implicitly adds an app account based on the specified authentication type and options. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
authType | string | Yes | Authentication type. |
callerBundleName | string | Yes | Bundle name of the authentication requester. |
options | {[key: string]: any} | Yes | Options for the authentication. |
callback | AuthenticatorCallback | Yes | Authenticator callback invoked to return the authentication result. |
authenticate8+
authenticate(name: string, authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
Authenticates an app account to obtain the OAuth access token. This method uses an asynchronous callback to return the result.
System capability: SystemCapability.Account.AppAccount
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | App account name. |
authType | string | Yes | Authentication type. |
callerBundleName | string | Yes | Bundle name of the authentication requester. |
options | {[key: string]: any} | Yes | Options for the authentication. |
callback | AuthenticatorCallback | Yes | Authenticator callback invoked to return the authentication result. |
Example
class MyAuthenticator extends account_appAccount.Authenticator {
addAccountImplicitly(authType, callerBundleName, options, callback) {
callback.onRequestRedirected({
bundleName: "com.example.ohos.accountjsdemo",
abilityName: "com.example.ohos.accountjsdemo.LoginAbility",
});
}
authenticate(name, authType, callerBundleName, options, callback) {
var result = {[account_appAccount.Constants.KEY_NAME]: name,
[account_appAccount.Constants.KEY_AUTH_TYPE]: authType,
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
}
}
export default {
onConnect(want) {
return new MyAuthenticator();
}
}