UNPKG

@microsoft/teams.apps

Version:

<p> <a href="https://www.npmjs.com/package/@microsoft/teams.apps" target="_blank"> <img src="https://img.shields.io/npm/v/@microsoft/teams.apps/latest" /> </a> <a href="https://www.npmjs.com/package/@microsoft/teams.apps?activeTab=code

35 lines • 2.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sanitizeSocketModeUrl = sanitizeSocketModeUrl; exports.redactSocketModeSecrets = redactSocketModeSecrets; const REDACTED = '[REDACTED]'; /** Removes credentials, query parameters, and fragments from a URL used in diagnostics. */ function sanitizeSocketModeUrl(value) { const url = new URL(value); url.username = ''; url.password = ''; url.search = ''; url.hash = ''; return url.toString(); } /** * Removes Socket Mode credentials from diagnostic text before it reaches logs * or caller-visible errors. * * @param value Diagnostic text that may contain a credential. * @param secrets Exact credential values known by the caller. * @returns Diagnostic text with bearer tokens and sensitive fields redacted. */ function redactSocketModeSecrets(value, secrets = []) { let redacted = value; for (const secret of secrets) { if (secret) { redacted = redacted.split(secret).join(REDACTED); } } return redacted .replace(/(Bearer\s+)[^\s"',}]+/gi, `$1${REDACTED}`) .replace(/([?&](?:access_token|token|client_secret)=)[^&\s]+/gi, `$1${REDACTED}`) .replace(/((?:"|')?(?:accessToken|access_token|clientSecret|client_secret|authorization|token)(?:"|')?\s*[:=]\s*(?:"|')?)([^"',}\s&]+)/gi, `$1${REDACTED}`); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NvY2tldC1tb2RlL3JlZGFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLHNEQU9DO0FBVUQsMERBcUJDO0FBekNELE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQztBQUU5QiwyRkFBMkY7QUFDM0YsU0FBZ0IscUJBQXFCLENBQUMsS0FBYTtJQUNqRCxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixHQUFHLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNsQixHQUFHLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNsQixHQUFHLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNoQixHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNkLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3hCLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQ3JDLEtBQWEsRUFDYixVQUE2QixFQUFFO0lBRS9CLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNyQixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLFFBQVE7U0FDWixPQUFPLENBQUMseUJBQXlCLEVBQUUsS0FBSyxRQUFRLEVBQUUsQ0FBQztTQUNuRCxPQUFPLENBQ04sc0RBQXNELEVBQ3RELEtBQUssUUFBUSxFQUFFLENBQ2hCO1NBQ0EsT0FBTyxDQUNOLGdJQUFnSSxFQUNoSSxLQUFLLFFBQVEsRUFBRSxDQUNoQixDQUFDO0FBQ04sQ0FBQyJ9