UNPKG

@azure/web-pubsub

Version:
32 lines 1.21 kB
"use strict"; // 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