@lemoncloud/lemon-web-core
Version:
Core Web-based Library for signing request at LEMONCLOUD
1 lines • 135 kB
Source Map (JSON)
{"version":3,"sources":["../src/utils/local-storage.ts","../src/utils/utils.ts","../src/utils/logger-helper.service.ts","../src/utils/logger.service.ts","../src/token-storage/token-storage.service.ts","../src/token-storage/aws-storage.service.ts","../src/token-storage/azure-storage.service.ts","../src/core/aws-web.core.ts","../src/http/http-request.builder.ts","../src/http/aws-http-request.builder.ts","../src/vendor/sig-v4.service.ts","../src/http/azure-http-request.builder.ts","../src/core/azure-web.core.ts","../src/core/web-core.factory.ts"],"names":["dataMemory","MemoryStorage","key","value","LocalStorageService","exception","hmacSHA256","encBase64","createAsyncDelay","duration","resolve","isEmptyObject","obj","withRetries","attempt","nthTry","delay","args","__async","retryCount","error","hmac","message","hash","calcSignature","payload","current","userAgent","authId","accountId","identityId","identityToken","data","signature","convertCamelCaseFromSnake","part","i","calcTestSignature","format","NODE_COLORS","BROWSER_COLORS","LoggerHelperService","params","extraParams","type","name","param","LogType","LoggerService","namespace","options","__spreadValues","formattedMessage","formattedText","text","shouldFormat","typeBlank","showTimestamp","showLogType","timestampFormat","typeFormat","textFormat","namespaceFormat","timestampLog","typeLog","namespaceLog","textLog","whiteColor","typeColor","blackColor","date","zeroOrNull","dt","year","month","day","hours","minutes","seconds","dateText","hoursText","jwtDecode","USE_X_LEMON_IDENTITY_KEY","USE_X_LEMON_LANGUAGE_KEY","REGION_KEY","TokenStorageService","config","prefix","serverExpiration","jwtToken","_a","jwtExpiration","jwtIssuedAt","jwt","e","AWSStorageService","promise","item","result","expiredTime","accessKeyId","secretKey","now","noExpirationInfo","isExpired","AccessKeyId","SecretKey","SessionToken","tmp","token","credential","identityPoolId","Expiration","issuedTime","kms","kmsArn","AzureStorageService","accessToken","hostKey","clientId","axios","HttpRequestBuilder","axiosInstance","headers","method","AWS","sha256","Hex","SHA256","encHex","HmacSHA256","sigV4Client","AWS_SHA_256","AWS4_REQUEST","AWS4","X_AMZ_DATE","X_AMZ_SECURITY_TOKEN","HOST","AUTHORIZATION","hexEncode","secret","buildCanonicalRequest","path","queryParams","buildCanonicalUri","buildCanonicalQueryString","buildCanonicalHeaders","buildCanonicalSignedHeaders","hashCanonicalRequest","request","uri","UriEncode","input","encodeSlash","ch","sortedQueryParams","property","canonicalQueryString","urlencode","canonicalHeaders","sortedKeys","buildStringToSign","datetime","credentialScope","hashedCanonicalRequest","buildCredentialScope","region","service","calculateSigningKey","calculateSignature","stringToSign","buildAuthorizationHeader","accessKey","awsSigV4Client","invokeUrl","endpoint","pathComponent","verb","body","canonicalRequest","signingKey","url","queryString","AWSHttpRequestBuilder","tokenStorage","signedClient","sigendHeader","signedRequest","header","headerWithIdentity","useXLemonIdentity","__spreadProps","languageKey","language","hostname","AzureHttpRequestBuilder","code","originParams","AWSWebCore","_0","_1","builder","credentials","domain","cached","cachedCredentials","response","tokenData","refreshToken","changeSiteBody","target","tokenSignature","originToken","use","reject","AzureWebCore","webCoreMap","WebCoreFactory","cloud","ServiceConstructor"],"mappings":"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","sourcesContent":["let dataMemory: any = {};\n\nclass MemoryStorage {\n constructor() {}\n\n public setItem(key: string, value: string) {\n dataMemory[key] = value;\n return dataMemory[key];\n }\n\n public getItem(key: string) {\n return Object.prototype.hasOwnProperty.call(dataMemory, key) ? dataMemory[key] : undefined;\n }\n\n public removeItem(key: string) {\n return delete dataMemory[key];\n }\n\n public clear() {\n dataMemory = {};\n return dataMemory;\n }\n}\n\nexport class LocalStorageService {\n private storage: any;\n\n constructor() {\n try {\n this.storage = window.localStorage;\n this.storage.setItem(`.test-value`, 1);\n this.storage.removeItem(`.test-value`);\n } catch (exception) {\n this.storage = new MemoryStorage();\n }\n }\n\n public setItem(key: string, value: string) {\n this.storage.setItem(key, value);\n }\n\n public getItem(key: string) {\n return this.storage.getItem(key);\n }\n\n public removeItem(key: string) {\n this.storage.removeItem(key);\n }\n}\n","import { SignaturePayload } from '../types';\nimport hmacSHA256 from 'crypto-js/hmac-sha256.js';\nimport encBase64 from 'crypto-js/enc-base64.js';\n\n/**\n * @description create delay using async/await\n * @param {number} duration (millisecond)\n * @returns {Promise}\n * @example\n * await createAsyncDelay(2000) // wait 2 seconds\n * */\nexport const createAsyncDelay = (duration: number) => {\n return new Promise<void>(resolve => setTimeout(() => resolve(), duration));\n};\n\nexport const isEmptyObject = (obj: any) => {\n if (typeof obj !== 'object') {\n return !obj;\n }\n return Object.keys(obj).length === 0;\n};\n\nexport const withRetries =\n (attempt: any, nthTry: number, delay: number) =>\n async (...args: any[]) => {\n let retryCount = 0;\n do {\n try {\n return await attempt(...args);\n } catch (error) {\n const isLastAttempt = retryCount === nthTry;\n if (isLastAttempt) {\n return Promise.reject(error);\n }\n }\n await createAsyncDelay(delay);\n } while (retryCount++ < nthTry);\n };\n\nexport const hmac = (message: string, key: string) => {\n //! INFO: lemon-account-api\n //! algorithm: sha256, encoding: base64\n const hash = hmacSHA256(message, key);\n return encBase64.stringify(hash);\n};\n\nexport const calcSignature = (\n payload: SignaturePayload,\n current: string = new Date().toISOString(),\n userAgent: string = navigator.userAgent\n) => {\n const authId = payload.authId || '';\n const accountId = payload.accountId || '';\n const identityId = payload.identityId || '';\n const identityToken = '';\n\n //! build payload to sign......\n const data = [current, accountId, identityId, identityToken, userAgent].join('&');\n //! make signature with auth-id\n const signature = hmac(hmac(hmac(data, authId), accountId), identityId);\n //! returns signature..........\n // return new Buffer(signature).toString('base64');\n return signature;\n};\n\nexport const convertCamelCaseFromSnake = (key: string) => {\n return key\n .toLowerCase()\n .split('_')\n .map((part, i) => (i > 0 ? part.charAt(0).toUpperCase() + part.slice(1) : part))\n .join('');\n};\n\n// NOTE: for native login test\nexport const calcTestSignature = (\n payload: SignaturePayload,\n current: string = new Date().toISOString(),\n userAgent: string = navigator.userAgent\n) => {\n const authId = payload.authId || '';\n const accountId = payload.accountId || '';\n const identityId = payload.identityId || '';\n const identityToken = payload.identityToken || '';\n\n //! build payload to sign......\n const data = [current, accountId, identityId, identityToken, userAgent].join('&');\n //! make signature with auth-id\n const signature = hmac(hmac(hmac(data, authId), accountId), identityId);\n //! returns signature..........\n // return new Buffer(signature).toString('base64');\n return signature;\n};\n","import { format } from 'util';\nimport { LogType } from './logger.service';\n\nexport const NODE_COLORS = {\n Black: 0,\n Red: 1,\n Green: 2,\n Yellow: 3,\n Blue: 4,\n Magenta: 5,\n Cyan: 6,\n Grey: 7,\n White: 9,\n};\n\nexport const BROWSER_COLORS = {\n Black: 'Black',\n Red: 'IndianRed',\n Green: 'LimeGreen',\n Yellow: 'Orange',\n Blue: 'RoyalBlue',\n Magenta: 'Orchid',\n Cyan: 'SkyBlue',\n Grey: 'DimGrey',\n White: 'White',\n};\n\nexport class LoggerHelperService {\n private colorSet: any;\n private logColors: any;\n\n constructor() {\n this.colorSet = this.getColorSet();\n this.logColors = {\n DEBUG: this.colorSet.Blue,\n INFO: this.colorSet.Green,\n WARN: this.colorSet.Yellow,\n ERROR: this.colorSet.Red,\n DEFAULT: this.colorSet.Black,\n };\n }\n\n public formatMessage(message: string, params: any[]) {\n const extraParams = this.checkErrorInstance(params);\n return format(message, ...extraParams);\n }\n\n public getColorAsType(type: LogType): string {\n return this.logColors[type];\n }\n\n public getColorByName(name: string = 'Grey') {\n return this.colorSet[name];\n }\n\n public isBrowser() {\n return typeof window !== 'undefined' && typeof window.document !== 'undefined';\n }\n\n public isNode() {\n return typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n }\n\n private checkErrorInstance(params: any[]) {\n if (this.isNode()) {\n return params;\n }\n // isBrowser\n // browser에서 error message만 출력하는 이슈 해결 위해\n return params.map(param => {\n if (param instanceof Error) {\n return { error: param.message, stack: param.stack };\n } else {\n return param;\n }\n });\n }\n\n private getColorSet() {\n return this.isBrowser() ? BROWSER_COLORS : NODE_COLORS;\n }\n}\n","// refer: https://github.com/lemoncloud-io/lemon-logger-lib\n// TODO: use @lemoncloud/lemon-logger-lib\nimport { LoggerHelperService } from './logger-helper.service';\nimport { LoggerOption } from '../types';\n\nexport enum LogType {\n DEBUG = 'DEBUG',\n WARN = 'WARN',\n INFO = 'INFO',\n ERROR = 'ERROR',\n}\n\nexport interface LogInterface {\n debug(message: string, ...extraParams: any[]): void;\n warn(message: string, ...extraParams: any[]): void;\n info(message: string, ...extraParams: any[]): void;\n error(message: string, ...extraParams: any[]): void;\n}\n\nexport interface FormatInterface {\n timestampFormat: string;\n typeFormat: string;\n textFormat: string;\n namespaceFormat: string;\n}\n\nexport class LoggerService implements LogInterface {\n private utils: LoggerHelperService;\n\n private isNode: boolean;\n private isBrowser: boolean;\n\n private namespace: string;\n private options: LoggerOption = {\n showTimestamp: true,\n showLogType: true,\n };\n\n constructor(namespace: string = 'LEMON', options: LoggerOption = {}) {\n this.utils = new LoggerHelperService();\n this.namespace = namespace;\n this.options = { ...this.options, ...options };\n\n this.isNode = this.utils.isNode();\n this.isBrowser = this.utils.isBrowser();\n }\n\n log(message: string, ...extraParams: any[]) {\n const formattedMessage = this.utils.formatMessage(message, extraParams);\n this.writeLog(LogType.DEBUG, formattedMessage);\n return;\n }\n\n debug(message: string, ...extraParams: any[]) {\n const formattedMessage = this.utils.formatMessage(message, extraParams);\n this.writeLog(LogType.DEBUG, formattedMessage);\n }\n\n warn(message: string, ...extraParams: any[]) {\n const formattedMessage = this.utils.formatMessage(message, extraParams);\n this.writeLog(LogType.WARN, formattedMessage);\n }\n\n info(message: string, ...extraParams: any[]) {\n const formattedMessage = this.utils.formatMessage(message, extraParams);\n this.writeLog(LogType.INFO, formattedMessage);\n }\n\n error(message: string, ...extraParams: any[]) {\n const formattedMessage = this.utils.formatMessage(message, extraParams);\n this.writeLog(LogType.ERROR, formattedMessage);\n }\n\n private writeLog(type: LogType, message: string) {\n const format: FormatInterface = this.getFormat(type);\n const formattedText = this.createLogMessage(type, message, format);\n if (this.isNode) {\n console.log(formattedText);\n return;\n }\n\n // isBrowser\n this.logOnBrowser(type, formattedText, format);\n return;\n }\n\n private createLogMessage(type: LogType, text: string, format: FormatInterface, shouldFormat: boolean = true) {\n const typeBlank = type === LogType.INFO || type === LogType.WARN ? ' ' : '';\n const { showTimestamp, showLogType } = this.options;\n let { timestampFormat, typeFormat, textFormat, namespaceFormat } = format;\n\n if (this.isBrowser && shouldFormat) {\n timestampFormat = '%c';\n typeFormat = '%c';\n namespaceFormat = '%c';\n textFormat = ': %c';\n }\n\n const timestampLog = showTimestamp ? `${timestampFormat}${this.createTimestamp(new Date())} ` : `${timestampFormat}`; // format 정해줘야 browser에서 포맷 안깨짐\n const typeLog = showLogType ? `${typeFormat}[${type}]${typeBlank} ` : `${typeFormat}`;\n const namespaceLog = `${namespaceFormat}${this.namespace}`;\n const textLog = `${textFormat}${text}`;\n return `${timestampLog}${typeLog}${namespaceLog}${textLog}`;\n }\n\n private logOnBrowser(type: LogType, message: string, format: FormatInterface) {\n const { timestampFormat, typeFormat, namespaceFormat, textFormat } = format;\n if (type === LogType.ERROR) {\n console.error(message, timestampFormat, typeFormat, namespaceFormat, textFormat);\n } else {\n console.log(message, timestampFormat, typeFormat, namespaceFormat, textFormat);\n }\n }\n\n private getFormat(type: LogType): FormatInterface {\n if (this.isNode) {\n return this.getNodeFormat(type);\n }\n // isBrowser\n return this.getBrowserFormat(type);\n }\n\n private getNodeFormat(type: LogType): FormatInterface {\n const whiteColor = this.utils.getColorByName('White');\n const typeColor = this.utils.getColorAsType(type);\n const greyColor = this.utils.getColorByName('Grey');\n\n const timestampFormat = '\\u001b[3' + greyColor + 'm';\n const typeFormat = '\\u001b[3' + typeColor + ';22m';\n const namespaceFormat = '\\u001b[3' + whiteColor + ';1m';\n const textFormat = '\\u001b[0m: ';\n\n return { timestampFormat, typeFormat, textFormat, namespaceFormat };\n }\n\n private getBrowserFormat(type: LogType): FormatInterface {\n const blackColor = this.utils.getColorByName('Black');\n const typeColor = this.utils.getColorAsType(type);\n const greyColor = this.utils.getColorByName('Grey');\n\n const timestampFormat = 'color:' + greyColor;\n const typeFormat = 'color:' + typeColor;\n const namespaceFormat = 'color:' + blackColor + '; font-weight: bold';\n const textFormat = ': ';\n\n return { timestampFormat, typeFormat, textFormat, namespaceFormat };\n }\n\n //! timestamp like 2016-12-08 13:30:44 @lemon-engine\n private createTimestamp(date: Date) {\n const zeroOrNull = (text: number) => (text < 10 ? '0' : '');\n const dt = date || new Date();\n const [year, month, day, hours, minutes, seconds] = [\n dt.getFullYear(),\n dt.getMonth() + 1,\n dt.getDate(),\n dt.getHours(),\n dt.getMinutes(),\n dt.getSeconds(),\n ];\n\n const dateText = `${zeroOrNull(year)}${year}-${zeroOrNull(month)}${month}-${zeroOrNull(day)}${day}`; // yyyy-mm-dd\n const hoursText = `${zeroOrNull(hours)}${hours}:${zeroOrNull(minutes)}${minutes}:${zeroOrNull(seconds)}${seconds}`; //hh:mm:ss\n return `${dateText} ${hoursText}`;\n }\n}\n","import { CloudProvider, Storage, WebCoreConfig } from '../types';\nimport { LocalStorageService } from '../utils';\nimport { jwtDecode, JwtPayload } from 'jwt-decode';\n\nexport const USE_X_LEMON_IDENTITY_KEY = 'use_x_lemon_identity_key';\nexport const USE_X_LEMON_LANGUAGE_KEY = 'use_x_lemon_language_key';\nexport const REGION_KEY = 'region';\n\n/**\n * Abstract class representing a token storage service.\n * Provides methods to set and get items in storage, and abstract methods\n * to check and manage cached tokens.\n */\nexport abstract class TokenStorageService {\n protected prefix: string = 'lemon';\n protected storage: Storage = new LocalStorageService();\n\n /**\n * Constructs a TokenStorageService instance.\n * @param {WebCoreConfig<CloudProvider>} config - The configuration for the web core.\n */\n constructor(protected readonly config: WebCoreConfig<CloudProvider>) {\n this.prefix = `@${config.project}`;\n this.storage = this.config.storage || new LocalStorageService();\n }\n\n /**\n * Updates the prefix used in storage keys.\n * @param {string} prefix - The new prefix to use.\n */\n updatePrefix(prefix: string) {\n this.prefix = `@${prefix}`;\n }\n\n /**\n * Sets an item in the storage.\n * @param {string} key - The key to set.\n * @param {string} value - The value to set.\n * @returns {Promise<void>} - A promise that resolves when the item is set.\n */\n async setItem(key: string, value: string): Promise<void> {\n return await this.storage.setItem(`${this.prefix}.${key}`, value);\n }\n\n /**\n * Gets an item from the storage.\n * @param {string} key - The key to get.\n * @returns {Promise<string>} - A promise that resolves to the value of the item.\n */\n async getItem(key: string): Promise<string> {\n return await this.storage.getItem(`${this.prefix}.${key}`);\n }\n\n /**\n * Gets all items from the storage.\n * @returns {Promise<{ [key: string]: string }>} - A promise that resolves to an object containing all items.\n */\n abstract getAllItems(): Promise<{ [key: string]: string }>;\n\n /**\n * Checks if there is a cached token in the storage.\n * @returns {Promise<boolean>} - A promise that resolves to true if a cached token exists, false otherwise.\n */\n abstract hasCachedToken(): Promise<boolean>;\n\n /**\n * Checks if the cached token should be refreshed.\n * Abstract method that must be implemented by subclasses to define refresh logic.\n * @returns {Promise<boolean>} Promise that resolves to true if the token should be refreshed, false otherwise\n */\n abstract shouldRefreshToken(): Promise<boolean>;\n\n /**\n * Calculates the token expiration timestamp with built-in safety buffer.\n * Uses a priority-based approach: server expiration first, then JWT expiration, finally fallback duration.\n * Automatically applies a 5-minute safety buffer to prevent token expiry during requests.\n * @param {string} [serverExpiration] - ISO string or date string from server response\n * @param {string} [jwtToken] - JWT token string to extract expiration from\n * @returns {number} Unix timestamp (milliseconds) when the token should be considered expired\n */\n calculateTokenExpiration(serverExpiration?: string, jwtToken?: string): number {\n const SAFETY_BUFFER = 5 * 60 * 1000; // 5 minutes\n const FALLBACK_DURATION = 15 * 60 * 1000; // 15 minutes\n\n if (serverExpiration) {\n return new Date(serverExpiration).getTime() - SAFETY_BUFFER;\n }\n\n if (jwtToken) {\n try {\n const jwtExpiration = this.extractJWT(jwtToken)?.exp || null;\n if (jwtExpiration) {\n return jwtExpiration * 1000 - SAFETY_BUFFER; // JWT exp is in seconds\n }\n } catch (error) {\n console.warn('Failed to parse JWT expiration:', error);\n }\n }\n\n console.warn('No server expiration found, using fallback duration');\n