@azure/web-pubsub
Version:
Azure client library for Azure Web PubSub
32 lines • 1.21 kB
JavaScript
;
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
Object.defineProperty(exports, "__esModule", { value: true });
exports.webPubSubKeyCredentialPolicyName = void 0;
exports.webPubSubKeyCredentialPolicy = webPubSubKeyCredentialPolicy;
const tslib_1 = require("tslib");
const jsonwebtoken_1 = tslib_1.__importDefault(require("jsonwebtoken"));
/**
* The programmatic identifier of the webPubSubKeyCredentialPolicy.
*/
exports.webPubSubKeyCredentialPolicyName = "webPubSubKeyCredentialPolicy";
/**
* Create an HTTP pipeline policy to authenticate a request
* using an `AzureKeyCredential` for Text Analytics
* @internal
*/
function webPubSubKeyCredentialPolicy(credential) {
return {
name: exports.webPubSubKeyCredentialPolicyName,
sendRequest(request, next) {
const bearerToken = jsonwebtoken_1.default.sign({}, credential.key, {
audience: request.url,
expiresIn: "1h",
algorithm: "HS256",
});
request.headers.set("Authorization", `Bearer ${bearerToken}`);
return next(request);
},
};
}
//# sourceMappingURL=webPubSubCredentialPolicy.js.map