Search…
Managing Password Vaults
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.
TypeScript
Swift
Kotlin
try {
const sudoId = ""
const vaultId = await client.createVault(sudoId)
// `vaultId` contains the identifier of the newly created vault object.
} catch (error) {
// handle errors or throw the error
throw error
}
var client: PasswordManagerClient!
client.createVault(sudoId: "") { (result) in
switch result {
case .success(let vault):
break
case .failure(let error):
break
}
}
// val client: SudoPasswordManagerClient
// val sudoId: String
launch {
try {
val vault = withContext(Dispatchers.IO) {
client.createVault(sudoId)
}
} catch (e: SudoPasswordManagerException) {
// Handle/notify user of exception
}
}
When creating vaults under a Sudo, be aware of Password Entitlement limits.

Retrieving Vaults

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.
TypeScript
Swift
Kotlin
try {
const vaults = await client.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) in
switch result {
case .success(let vaults):
break
case .failure(let error):
break
}
}
client.getVault(withId: "1") { (result) in
switch result {
case .success(let vault):
break
case .failure(let error):
break
}
}
// val client: SudoPasswordManagerClient
launch {
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.
TypeScript
Swift
Kotlin
try {
const vaultId = "1"
await client.deleteVault(vaultId)
} catch {
// Handle/notify user of errors
}
var client: PasswordManagerClient!
client.deleteVault(withId: "1") { (result) in
switch result {
case .success:
break
case .failure(let error):
break
}
}
// val client: SudoPasswordManagerClient
launch {
try {
withContext(Dispatchers.IO) {
client.deleteVault("1")
}
} catch (e: SudoPasswordManagerException) {
// Handle any errors related to vault deletion
}
}
To learn more about key concepts surrounding Sudos, see Sudo digital identities.