Description Usage Arguments See Also Examples
By default, the newly added secret is not shared with other
users. See the users argument if you want to change this.
You can also use share_secret()
later, to specify the users that
have access to the secret.
1 | add_secret(name, value, users, vault = NULL)
|
name |
Name of the secret, a string that can contain alphanumeric characters, underscores, dashes and dots. |
value |
Value of the secret, an arbitrary R object that
will be serialized using |
users |
Email addresses of users that will have access to the
secret. (See |
vault |
Vault location (starting point to find the vault).
To create a vault, use
If the starting point is a vault, that is used. Otherwise, if the
starting point is in a package tree, the |
Other secret functions:
delete_secret()
,
get_secret()
,
list_owners()
,
list_secrets()
,
local_key()
,
share_secret()
,
unshare_secret()
,
update_secret()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | ## Not run:
# The `secret` package contains some user keys for demonstration purposes.
# In this example, Alice shares a secret with Bob using a vault.
keys <- function(x){
file.path(system.file("user_keys", package = "secret"), x)
}
alice_public <- keys("alice.pub")
alice_private <- keys("alice.pem")
bob_public <- keys("bob.pub")
bob_private <- keys("bob.pem")
carl_private <- keys("carl.pem")
# Create vault
vault <- file.path(tempdir(), ".vault")
if (dir.exists(vault)) unlink(vault) # ensure vault is empty
create_vault(vault)
# Add users with their public keys
add_user("alice", public_key = alice_public, vault = vault)
add_user("bob", public_key = bob_public, vault = vault)
list_users(vault = vault)
# Share a secret
secret <- list(username = "user123", password = "Secret123!")
add_secret("secret", value = secret, users = c("alice", "bob"),
vault = vault)
list_secrets(vault = vault)
# Alice and Bob can decrypt the secret with their private keys
# Note that you would not normally have access to the private key
# of any of your collaborators!
get_secret("secret", key = alice_private, vault = vault)
get_secret("secret", key = bob_private, vault = vault)
# But Carl can't decrypt the secret
try(
get_secret("secret", key = carl_private, vault = vault)
)
# Unshare the secret
unshare_secret("secret", users = "bob", vault = vault)
try(
get_secret("secret", key = bob_private, vault = vault)
)
# Delete the secret
delete_secret("secret", vault = vault)
list_secrets(vault)
# Delete the users
delete_user("alice", vault = vault)
delete_user("bob", vault = vault)
list_users(vault)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.