@docusign/iam-sdk
Version:
Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@docusign/iam-sdk* API.
29 lines • 1.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OAuthTokenRequestHook = void 0;
const base64_js_1 = require("../../lib/base64.js");
class OAuthTokenRequestHook {
beforeRequest(hookCtx, request) {
switch (hookCtx.operationID) {
case "GetTokenFromRefreshToken":
case "GetTokenFromConfidentialAuthCode": {
let sec = hookCtx.securitySource;
if (typeof sec === "function") {
sec = sec();
}
if (!sec) {
throw new Error("security source is not defined");
}
const { clientId, secretKey } = sec;
if (clientId && secretKey) {
const encoded = (0, base64_js_1.stringToBase64)([clientId || "", secretKey || ""].join(":"));
request.headers.set("Authorization", `Basic ${encoded}`);
}
break;
}
}
return request;
}
}
exports.OAuthTokenRequestHook = OAuthTokenRequestHook;
//# sourceMappingURL=oauth-token-request-hook.js.map