Provides the abilities to allow your users to create and manage their own password vaults.
A Vault is a reference to vault data held internally by the Password Manager. To access the contents of a vault, the vault is passed to the Password Manager.
Creating a Vault
To effectively manage a user's contents, a vault needs to be created. All vaults that will be created must have an association with a Sudo. A Sudo can be created and retrieved using the Sudo Profiles SDK. After either creating or retrieving a Sudo, the Sudo's id will be passed to the createVault method to asynchronously create a vault. If the Password Manager is successful a vault will be returned.
try {constsudoId=""constvaultId=awaitclient.createVault(sudoId)// `vaultId` contains the identifier of the newly created vault object.} catch (error) {// handle errors or throw the errorthrow error}
var client: PasswordManagerClient!client.createVault(sudoId:"") { (result) inswitch result {case .success(let vault):breakcase .failure(let error):break }}
// val client: SudoPasswordManagerClient// val sudoId: Stringlaunch {try {val vault =withContext(Dispatchers.IO) { client.createVault(sudoId) } } catch (e: SudoPasswordManagerException) {// Handle/notify user of exception }}
Use the listVaults method to retrieve a list of all the vaults owned by the user. Use the list to filter for vaults owned by a Sudo or access the contents of the vault by using the id of one of the vaults returned from the method.
try {constvaults=awaitclient.listVaults()// each vault in the array of vaults has an `id`// which can be used to access its items.} catch {// Handle/notify user of errors}
var client: PasswordManagerClient!client.listVaults { (result) inswitch result {case .success(let vaults):breakcase .failure(let error):break }}client.getVault(withId:"1") { (result) inswitch result {case .success(let vault):breakcase .failure(let error):break }}
// val client: SudoPasswordManagerClientlaunch {try {val vaults =withContext(Dispatchers.IO) { client.listVaults() client.getVault("1") } } catch (e: SudoPasswordManagerException) {// Handle any errors related to fetching vaults }}
Deleting a Vault
To delete a vault, call the deleteVault method and pass in the id of the vault you wish to delete.
try {constvaultId="1"awaitclient.deleteVault(vaultId)} catch {// Handle/notify user of errors }
var client: PasswordManagerClient!client.deleteVault(withId:"1") { (result) inswitch result {case .success:breakcase .failure(let error):break }}
// val client: SudoPasswordManagerClientlaunch {try {withContext(Dispatchers.IO) { client.deleteVault("1") } } catch (e: SudoPasswordManagerException) {// Handle any errors related to vault deletion }}