/var/www/qr4y.gr/server/delivery/node_modules/google-auth-library/build/src/auth
NameSizeModeActions
authclient.d.ts40180644editdlrm
authclient.js21440644editdlrm
awsclient.d.ts41900644editdlrm
awsclient.js109530644editdlrm
awsrequestsigner.d.ts16300644editdlrm
awsrequestsigner.js92960644editdlrm
baseexternalclient.d.ts93850644editdlrm
baseexternalclient.js198390644editdlrm
computeclient.d.ts13450644editdlrm
computeclient.js44420644editdlrm
credentials.d.ts22760644editdlrm
credentials.js7040644editdlrm
downscopedclient.d.ts65400644editdlrm
downscopedclient.js131660644editdlrm
envDetect.d.ts3240644editdlrm
envDetect.js26670644editdlrm
externalclient.d.ts12650644editdlrm
externalclient.js26360644editdlrm
googleauth.d.ts110570644editdlrm
googleauth.js286400644editdlrm
iam.d.ts6230644editdlrm
iam.js13480644editdlrm
identitypoolclient.d.ts37000644editdlrm
identitypoolclient.js75670644editdlrm
idtokenclient.d.ts8960644editdlrm
idtokenclient.js20880644editdlrm
impersonated.d.ts38830644editdlrm
impersonated.js57970644editdlrm
jwtaccess.d.ts24090644editdlrm
jwtaccess.js69870644editdlrm
jwtclient.d.ts38330644editdlrm
jwtclient.js99600644editdlrm
loginticket.d.ts53670644editdlrm
loginticket.js17680644editdlrm
oauth2client.d.ts221890644editdlrm
oauth2client.js308180644editdlrm
oauth2common.d.ts33930644editdlrm
oauth2common.js77340644editdlrm
refreshclient.d.ts16750644editdlrm
refreshclient.js41400644editdlrm
stscredentials.d.ts46360644editdlrm
stscredentials.js48860644editdlrm
Edit: /var/www/qr4y.gr/server/delivery/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