mirror of
https://github.com/oven-sh/setup-bun.git
synced 2025-02-24 03:00:39 +08:00
79 lines
3.1 KiB
Markdown
79 lines
3.1 KiB
Markdown
|
# Azure Core Authentication client library for JavaScript
|
||
|
|
||
|
The `@azure/core-auth` package provides core interfaces and helper methods for authenticating with Azure services using Azure Active Directory and other authentication schemes common across the Azure SDK. As a "core" library, it shouldn't need to be added as a dependency to any user code, only other Azure SDK libraries.
|
||
|
|
||
|
## Getting started
|
||
|
|
||
|
### Installation
|
||
|
|
||
|
Install this library using npm as follows
|
||
|
|
||
|
```
|
||
|
npm install @azure/core-auth
|
||
|
```
|
||
|
|
||
|
## Key Concepts
|
||
|
|
||
|
The `TokenCredential` interface represents a credential capable of providing an authentication token. The `@azure/identity` package contains various credentials that implement the `TokenCredential` interface.
|
||
|
|
||
|
The `AzureKeyCredential` is a static key-based credential that supports key rotation via the `update` method. Use this when a single secret value is needed for authentication, e.g. when using a shared access key.
|
||
|
|
||
|
The `AzureNamedKeyCredential` is a static name/key-based credential that supports name and key rotation via the `update` method. Use this when both a secret value and a label are needed, e.g. when using a shared access key and shared access key name.
|
||
|
|
||
|
The `AzureSASCredential` is a static signature-based credential that supports updating the signature value via the `update` method. Use this when using a shared access signature.
|
||
|
|
||
|
## Examples
|
||
|
|
||
|
### AzureKeyCredential
|
||
|
|
||
|
```js
|
||
|
const { AzureKeyCredential } = require("@azure/core-auth");
|
||
|
|
||
|
const credential = new AzureKeyCredential("secret value");
|
||
|
// prints: "secret value"
|
||
|
console.log(credential.key);
|
||
|
credential.update("other secret value");
|
||
|
// prints: "other secret value"
|
||
|
console.log(credential.key);
|
||
|
```
|
||
|
|
||
|
### AzureNamedKeyCredential
|
||
|
|
||
|
```js
|
||
|
const { AzureNamedKeyCredential } = require("@azure/core-auth");
|
||
|
|
||
|
const credential = new AzureNamedKeyCredential("ManagedPolicy", "secret value");
|
||
|
// prints: "ManagedPolicy, secret value"
|
||
|
console.log(`${credential.name}, ${credential.key}`);
|
||
|
credential.update("OtherManagedPolicy", "other secret value");
|
||
|
// prints: "OtherManagedPolicy, other secret value"
|
||
|
console.log(`${credential.name}, ${credential.key}`);
|
||
|
```
|
||
|
|
||
|
### AzureSASCredential
|
||
|
|
||
|
```js
|
||
|
const { AzureSASCredential } = require("@azure/core-auth");
|
||
|
|
||
|
const credential = new AzureSASCredential("signature1");
|
||
|
// prints: "signature1"
|
||
|
console.log(credential.signature);
|
||
|
credential.update("signature2");
|
||
|
// prints: "signature2"
|
||
|
console.log(credential.signature);
|
||
|
```
|
||
|
|
||
|
## Next steps
|
||
|
|
||
|
You can build and run the tests locally by executing `rushx test`. Explore the `test` folder to see advanced usage and behavior of the public classes.
|
||
|
|
||
|
## Troubleshooting
|
||
|
|
||
|
If you run into issues while using this library, please feel free to [file an issue](https://github.com/Azure/azure-sdk-for-js/issues/new).
|
||
|
|
||
|
## Contributing
|
||
|
|
||
|
If you'd like to contribute to this library, please read the [contributing guide](https://github.com/Azure/azure-sdk-for-js/blob/main/CONTRIBUTING.md) to learn more about how to build and test the code.
|
||
|
|
||
|

|