Skip to content

Commit 7a8de7b

Browse files
committed
key quickstart
1 parent 906e4f5 commit 7a8de7b

File tree

1 file changed

+44
-8
lines changed

1 file changed

+44
-8
lines changed

articles/key-vault/keys/quick-create-node.md

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ title: Quickstart - Azure Key Vault key client library for JavaScript (version
33
description: Learn how to create, retrieve, and delete keys from an Azure key vault using the JavaScript client library
44
author: msmbaldwin
55
ms.author: mbaldwin
6-
ms.date: 01/04/2023
6+
ms.date: 02/02/2023
77
ms.service: key-vault
88
ms.subservice: keys
99
ms.topic: quickstart
1010
ms.devlang: javascript
11-
ms.custom: devx-track-js, mode-api
11+
ms.custom: devx-track-js, mode-api, passwordless-js
1212
---
1313

14-
# Quickstart: Azure Key Vault key client library for JavaScript (version 4)
14+
# Quickstart: Azure Key Vault key client library for JavaScript
1515

1616
Get started with the Azure Key Vault key client library for JavaScript. [Azure Key Vault](../general/overview.md) is a cloud service that provides a secure store for cryptographic keys. You can securely store keys, passwords, certificates, and other secrets. Azure key vaults may be created and managed through the Azure portal. In this quickstart, you learn how to create, retrieve, and delete keys from an Azure key vault using the JavaScript key client library
1717

@@ -39,7 +39,7 @@ This quickstart assumes you're running [Azure CLI](/cli/azure/install-azure-cli)
3939

4040
1. Run the `login` command.
4141

42-
```azurecli-interactive
42+
```azurecli
4343
az login
4444
```
4545
@@ -86,31 +86,66 @@ Create a Node.js application that uses your key vault.
8686
Create an access policy for your key vault that grants key permissions to your user account
8787
8888
```azurecli
89-
az keyvault set-policy --name <YourKeyVaultName> --upn [email protected] --key-permissions delete get list create purge
89+
az keyvault set-policy --name <YourKeyVaultName> --upn [email protected] --key-permissions delete get list create update purge
9090
```
9191

9292
## Set environment variables
9393

9494
This application is using key vault name as an environment variable called `KEY_VAULT_NAME`.
9595

96-
Windows
96+
```azurecli
97+
az keyvault set-policy --name <your-key-vault-name> --upn [email protected] --secret-permissions delete get list set purge
98+
```
99+
100+
## Set environment variables
101+
102+
This application is using key vault name as an environment variable called `KEY_VAULT_NAME`.
103+
104+
### [Windows](#tab/windows)
105+
97106
```cmd
98107
set KEY_VAULT_NAME=<your-key-vault-name>
99108
````
100109
110+
### [PowerShell](#tab/powershell)
111+
101112
Windows PowerShell
102113
```powershell
103114
$Env:KEY_VAULT_NAME="<your-key-vault-name>"
104115
```
105116

106-
macOS or Linux
117+
### [macOS or Linux](#tab/linux)
118+
107119
```cmd
108120
export KEY_VAULT_NAME=<your-key-vault-name>
109121
```
122+
---
123+
124+
## Authenticate and create a client
125+
126+
Application requests to most Azure services must be authorized. Using the [DefaultAzureCredential](/javascript/api/@azure/identity/#@azure-identity-getdefaultazurecredential) method provided by the [Azure Identity client library](/javascript/api/@azure/identity) is the recommended approach for implementing passwordless connections to Azure services in your code. `DefaultAzureCredential` supports multiple authentication methods and determines which method should be used at runtime. This approach enables your app to use different authentication methods in different environments (local vs. production) without implementing environment-specific code.
127+
128+
In this quickstart, `DefaultAzureCredential` authenticates to key vault using the credentials of the local development user logged into the Azure CLI. When the application is deployed to Azure, the same `DefaultAzureCredential` code can automatically discover and use a managed identity that is assigned to an App Service, Virtual Machine, or other services. For more information, see [Managed Identity Overview](/azure/active-directory/managed-identities-azure-resources/overview).
129+
130+
In this code, the name of your key vault is used to create the key vault URI, in the format `https://<your-key-vault-name>.vault.azure.net`. For more information about authenticating to key vault, see [Developer's Guide](/azure/key-vault/general/developers-guide#authenticate-to-key-vault-in-code).
110131

111132
## Code example
112133

113-
This code sample demonstrates how to create a client, set a key, retrieve a key, and delete a key.
134+
The code samples below will show you how to create a client, set a secret, retrieve a secret, and delete a secret.
135+
136+
This code uses the following [Key Vault Secret classes and methods](/javascript/api/overview/azure/keyvault-keys-readme):
137+
138+
* [DefaultAzureCredential class](/javascript/api/@azure/identity/#@azure-identity-getdefaultazurecredential)
139+
* [KeyClient class](/javascript/api/@azure/keyvault-keys/keyclient)
140+
* [createKey](/javascript/api/@azure/keyvault-keys/keyclient#@azure-keyvault-keys-keyclient-createkey)
141+
* [createEcKey](/javascript/api/@azure/keyvault-keys/keyclient#@azure-keyvault-keys-keyclient-createeckey)
142+
* [createRsaKey](/javascript/api/@azure/keyvault-keys/keyclient#@azure-keyvault-keys-keyclient-creatersakey)
143+
* [getKey](/javascript/api/@azure/keyvault-keys/keyclient#@azure-keyvault-keys-keyclient-getkey)
144+
* [listPropertiesOfKeys](/javascript/api/@azure/keyvault-keys/keyclient#@azure-keyvault-keys-keyclient-listpropertiesofkeys)
145+
* [updateKeyProperties](/javascript/api/@azure/keyvault-keys/keyclient#@azure-keyvault-keys-keyclient-updatekeyproperties)
146+
* [beginDeleteKey](/javascript/api/@azure/keyvault-keys/keyclient#@azure-keyvault-keys-keyclient-begindeletekey)
147+
* [getDeletedKey](/javascript/api/@azure/keyvault-keys/keyclient#@azure-keyvault-keys-keyclient-getdeletedkey)
148+
* [purgeDeletedKey](/javascript/api/@azure/keyvault-keys/keyclient#@azure-keyvault-keys-keyclient-purgedeletedkey)
114149

115150
### Set up the app framework
116151

@@ -129,6 +164,7 @@ This code sample demonstrates how to create a client, set a key, retrieve a key,
129164
const credential = new DefaultAzureCredential();
130165

131166
const keyVaultName = process.env["KEY_VAULT_NAME"];
167+
if(!keyVaultName) throw new Error("KEY_VAULT_NAME is empty");
132168
const url = "https://" + keyVaultName + ".vault.azure.net";
133169

134170
const client = new KeyClient(url, credential);

0 commit comments

Comments
 (0)