@docusign/iam-sdk
Version:
Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@docusign/iam-sdk* API.
25 lines • 957 B
JavaScript
import { stringToBase64 } from "../../lib/base64.js";
export 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 = stringToBase64([clientId || "", secretKey || ""].join(":"));
request.headers.set("Authorization", `Basic ${encoded}`);
}
break;
}
}
return request;
}
}
//# sourceMappingURL=oauth-token-request-hook.js.map