UNPKG

@azure/msal-node

Version:
69 lines (66 loc) 3.02 kB
/*! @azure/msal-node v5.0.3 2026-01-28 */ 'use strict'; import { buildClientConfiguration, Logger, StubPerformanceClient, TokenProtocol } from '@azure/msal-common/node'; import { name, version } from '../packageMetadata.mjs'; /* * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ /** * Base application class which will construct requests to send to and handle responses from the Microsoft STS using the authorization code flow. * @internal */ class BaseClient { constructor(configuration) { // Set the configuration this.config = buildClientConfiguration(configuration); // Initialize the logger this.logger = new Logger(this.config.loggerOptions, name, version); // Initialize crypto this.cryptoUtils = this.config.cryptoInterface; // Initialize storage interface this.cacheManager = this.config.storageInterface; // Set the network interface this.networkClient = this.config.networkInterface; // Set TelemetryManager this.serverTelemetryManager = this.config.serverTelemetryManager; // set Authority this.authority = this.config.authOptions.authority; this.performanceClient = new StubPerformanceClient(); } /** * Creates default headers for requests to token endpoint */ createTokenRequestHeaders(ccsCred) { return TokenProtocol.createTokenRequestHeaders(this.logger, false, ccsCred); } /** * Http post to token endpoint * @param tokenEndpoint * @param queryString * @param headers * @param thumbprint */ async executePostToTokenEndpoint(tokenEndpoint, queryString, headers, thumbprint, correlationId) { return TokenProtocol.executePostToTokenEndpoint(tokenEndpoint, queryString, headers, thumbprint, correlationId, this.cacheManager, this.networkClient, this.logger, this.performanceClient, this.serverTelemetryManager); } /** * Wraps sendPostRequestAsync with necessary preflight and postflight logic * @param thumbprint - Request thumbprint for throttling * @param tokenEndpoint - Endpoint to make the POST to * @param options - Body and Headers to include on the POST request * @param correlationId - CorrelationId for telemetry */ async sendPostRequest(thumbprint, tokenEndpoint, options, correlationId) { return TokenProtocol.sendPostRequest(thumbprint, tokenEndpoint, options, correlationId, this.cacheManager, this.networkClient, this.logger, this.performanceClient); } /** * Creates query string for the /token request * @param request */ createTokenQueryParameters(request) { return TokenProtocol.createTokenQueryParameters(request, this.config.authOptions.clientId, this.config.authOptions.redirectUri, this.performanceClient); } } export { BaseClient }; //# sourceMappingURL=BaseClient.mjs.map