/var/www/greso.tech/server/nsm/node_modules/google-auth-library/build/src/auth
NameSizeModeActions
authclient.d.ts42040644editdlrm
authclient.js21440644editdlrm
awsclient.d.ts44410644editdlrm
awsclient.js121900644editdlrm
awsrequestsigner.d.ts16260644editdlrm
awsrequestsigner.js92960644editdlrm
baseexternalclient.d.ts93010644editdlrm
baseexternalclient.js180850644editdlrm
computeclient.d.ts13450644editdlrm
computeclient.js44420644editdlrm
credentials.d.ts22760644editdlrm
credentials.js7040644editdlrm
downscopedclient.d.ts65400644editdlrm
downscopedclient.js131660644editdlrm
envDetect.d.ts3240644editdlrm
envDetect.js26670644editdlrm
executable-response.d.ts44890644editdlrm
executable-response.js67140644editdlrm
externalAccountAuthorizedUserClient.d.ts34260644editdlrm
externalAccountAuthorizedUserClient.js101550644editdlrm
externalclient.d.ts13560644editdlrm
externalclient.js29790644editdlrm
googleauth.d.ts116260644editdlrm
googleauth.js288830644editdlrm
iam.d.ts6230644editdlrm
iam.js13480644editdlrm
identitypoolclient.d.ts36920644editdlrm
identitypoolclient.js75670644editdlrm
idtokenclient.d.ts8960644editdlrm
idtokenclient.js20880644editdlrm
impersonated.d.ts47690644editdlrm
impersonated.js68750644editdlrm
jwtaccess.d.ts24090644editdlrm
jwtaccess.js69870644editdlrm
jwtclient.d.ts38330644editdlrm
jwtclient.js100500644editdlrm
loginticket.d.ts53670644editdlrm
loginticket.js17680644editdlrm
oauth2client.d.ts225210644editdlrm
oauth2client.js313120644editdlrm
oauth2common.d.ts33770644editdlrm
oauth2common.js77340644editdlrm
pluggable-auth-client.d.ts59830644editdlrm
pluggable-auth-client.js99260644editdlrm
pluggable-auth-handler.d.ts18420644editdlrm
pluggable-auth-handler.js68240644editdlrm
refreshclient.d.ts17430644editdlrm
refreshclient.js42310644editdlrm
stscredentials.d.ts46360644editdlrm
stscredentials.js48860644editdlrm
Edit: /var/www/greso.tech/server/nsm/node_modules/google-auth-library/build/src/auth/oauth2common.js (7734B)
"use strict"; // Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. Object.defineProperty(exports, "__esModule", { value: true }); exports.getErrorFromOAuthErrorResponse = exports.OAuthClientAuthHandler = void 0; const querystring = require("querystring"); const crypto_1 = require("../crypto/crypto"); /** List of HTTP methods that accept request bodies. */ const METHODS_SUPPORTING_REQUEST_BODY = ['PUT', 'POST', 'PATCH']; /** * Abstract class for handling client authentication in OAuth-based * operations. * When request-body client authentication is used, only application/json and * application/x-www-form-urlencoded content types for HTTP methods that support * request bodies are supported. */ class OAuthClientAuthHandler { /** * Instantiates an OAuth client authentication handler. * @param clientAuthentication The client auth credentials. */ constructor(clientAuthentication) { this.clientAuthentication = clientAuthentication; this.crypto = (0, crypto_1.createCrypto)(); } /** * Applies client authentication on the OAuth request's headers or POST * body but does not process the request. * @param opts The GaxiosOptions whose headers or data are to be modified * depending on the client authentication mechanism to be used. * @param bearerToken The optional bearer token to use for authentication. * When this is used, no client authentication credentials are needed. */ applyClientAuthenticationOptions(opts, bearerToken) { // Inject authenticated header. this.injectAuthenticatedHeaders(opts, bearerToken); // Inject authenticated request body. if (!bearerToken) { this.injectAuthenticatedRequestBody(opts); } } /** * Applies client authentication on the request's header if either * basic authentication or bearer token authentication is selected. * * @param opts The GaxiosOptions whose headers or data are to be modified * depending on the client authentication mechanism to be used. * @param bearerToken The optional bearer token to use for authentication. * When this is used, no client authentication credentials are needed. */ injectAuthenticatedHeaders(opts, bearerToken) { var _a; // Bearer token prioritized higher than basic Auth. if (bearerToken) { opts.headers = opts.headers || {}; Object.assign(opts.headers, { Authorization: `Bearer ${bearerToken}}`, }); } else if (((_a = this.clientAuthentication) === null || _a === void 0 ? void 0 : _a.confidentialClientType) === 'basic') { opts.headers = opts.headers || {}; const clientId = this.clientAuthentication.clientId; const clientSecret = this.clientAuthentication.clientSecret || ''; const base64EncodedCreds = this.crypto.encodeBase64StringUtf8(`${clientId}:${clientSecret}`); Object.assign(opts.headers, { Authorization: `Basic ${base64EncodedCreds}`, }); } } /** * Applies client authentication on the request's body if request-body * client authentication is selected. * * @param opts The GaxiosOptions whose headers or data are to be modified * depending on the client authentication mechanism to be used. */ injectAuthenticatedRequestBody(opts) { var _a; if (((_a = this.clientAuthentication) === null || _a === void 0 ? void 0 : _a.confidentialClientType) === 'request-body') { const method = (opts.method || 'GET').toUpperCase(); // Inject authenticated request body. if (METHODS_SUPPORTING_REQUEST_BODY.indexOf(method) !== -1) { // Get content-type. let contentType; const headers = opts.headers || {}; for (const key in headers) { if (key.toLowerCase() === 'content-type' && headers[key]) { contentType = headers[key].toLowerCase(); break; } } if (contentType === 'application/x-www-form-urlencoded') { opts.data = opts.data || ''; const data = querystring.parse(opts.data); Object.assign(data, { client_id: this.clientAuthentication.clientId, client_secret: this.clientAuthentication.clientSecret || '', }); opts.data = querystring.stringify(data); } else if (contentType === 'application/json') { opts.data = opts.data || {}; Object.assign(opts.data, { client_id: this.clientAuthentication.clientId, client_secret: this.clientAuthentication.clientSecret || '', }); } else { throw new Error(`${contentType} content-types are not supported with ` + `${this.clientAuthentication.confidentialClientType} ` + 'client authentication'); } } else { throw new Error(`${method} HTTP method does not support ` + `${this.clientAuthentication.confidentialClientType} ` + 'client authentication'); } } } } exports.OAuthClientAuthHandler = OAuthClientAuthHandler; /** * Converts an OAuth error response to a native JavaScript Error. * @param resp The OAuth error response to convert to a native Error object. * @param err The optional original error. If provided, the error properties * will be copied to the new error. * @return The converted native Error object. */ function getErrorFromOAuthErrorResponse(resp, err) { // Error response. const errorCode = resp.error; const errorDescription = resp.error_description; const errorUri = resp.error_uri; let message = `Error code ${errorCode}`; if (typeof errorDescription !== 'undefined') { message += `: ${errorDescription}`; } if (typeof errorUri !== 'undefined') { message += ` - ${errorUri}`; } const newError = new Error(message); // Copy properties from original error to newly generated error. if (err) { const keys = Object.keys(err); if (err.stack) { // Copy error.stack if available. keys.push('stack'); } keys.forEach(key => { // Do not overwrite the message field. if (key !== 'message') { Object.defineProperty(newError, key, { // eslint-disable-next-line @typescript-eslint/no-explicit-any value: err[key], writable: false, enumerable: true, }); } }); } return newError; } exports.getErrorFromOAuthErrorResponse = getErrorFromOAuthErrorResponse; //# sourceMappingURL=oauth2common.js.map