63 lines
2.0 KiB
TypeScript
63 lines
2.0 KiB
TypeScript
import { PipelinePolicy } from '@azure/core-rest-pipeline';
|
|
import { TokenCredential } from '@azure/core-auth';
|
|
|
|
/**
|
|
* A custom implementation of the bearer-token authentication policy that handles Key Vault and CAE challenges.
|
|
*
|
|
* Key Vault supports other authentication schemes, but we ensure challenge authentication
|
|
* is used by first sending a copy of the request, without authorization or content.
|
|
*
|
|
* when the challenge is received, it will be authenticated and used to send the original
|
|
* request with authorization.
|
|
*
|
|
* Following the first request of a client, follow-up requests will get the cached token
|
|
* if possible.
|
|
*
|
|
*/
|
|
export declare function keyVaultAuthenticationPolicy(credential: TokenCredential, options?: KeyVaultAuthenticationPolicyOptions): PipelinePolicy;
|
|
|
|
/**
|
|
* Name of the Key Vault authentication policy.
|
|
*/
|
|
export declare const keyVaultAuthenticationPolicyName = "keyVaultAuthenticationPolicy";
|
|
|
|
/**
|
|
* Additional options for the challenge based authentication policy.
|
|
*/
|
|
export declare interface KeyVaultAuthenticationPolicyOptions {
|
|
/**
|
|
* Whether to disable verification that the challenge resource matches the Key Vault or Managed HSM domain.
|
|
*
|
|
* Defaults to false.
|
|
*/
|
|
disableChallengeResourceVerification?: boolean;
|
|
}
|
|
|
|
/**
|
|
* The parsed components of a Key Vault entity identifier.
|
|
*/
|
|
export declare interface KeyVaultEntityIdentifier {
|
|
/**
|
|
* The vault URI.
|
|
*/
|
|
vaultUrl: string;
|
|
/**
|
|
* The version of key/secret/certificate. May be undefined.
|
|
*/
|
|
version?: string;
|
|
/**
|
|
* The name of key/secret/certificate.
|
|
*/
|
|
name: string;
|
|
}
|
|
|
|
/**
|
|
* Parses a Key Vault identifier into its components.
|
|
*
|
|
* @param collection - The collection of the Key Vault identifier.
|
|
* @param identifier - The Key Vault identifier to be parsed.
|
|
*/
|
|
export declare function parseKeyVaultIdentifier(collection: string, identifier: string | undefined): KeyVaultEntityIdentifier;
|
|
|
|
export { }
|