![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/local/n/versions/node/14.15.4/lib/node_modules/npm/lib/config/ |
Upload File : |
var assert = require('assert') var toNerfDart = require('./nerf-dart.js') module.exports = getCredentialsByURI function getCredentialsByURI (uri) { assert(uri && typeof uri === 'string', 'registry URL is required') var nerfed = toNerfDart(uri) var defnerf = toNerfDart(this.get('registry')) // hidden class micro-optimization var c = { scope: nerfed, token: undefined, password: undefined, username: undefined, email: undefined, auth: undefined, alwaysAuth: undefined } // used to override scope matching for tokens as well as legacy auth if (this.get(nerfed + ':always-auth') !== undefined) { var val = this.get(nerfed + ':always-auth') c.alwaysAuth = val === 'false' ? false : !!val } else if (this.get('always-auth') !== undefined) { c.alwaysAuth = this.get('always-auth') } if (this.get(nerfed + ':_authToken')) { c.token = this.get(nerfed + ':_authToken') // the bearer token is enough, don't confuse things return c } if (this.get(nerfed + ':-authtoken')) { c.token = this.get(nerfed + ':-authtoken') // the bearer token is enough, don't confuse things return c } // Handle the old-style _auth=<base64> style for the default // registry, if set. var authDef = this.get('_auth') var userDef = this.get('username') var passDef = this.get('_password') if (authDef && !(userDef && passDef)) { authDef = Buffer.from(authDef, 'base64').toString() authDef = authDef.split(':') userDef = authDef.shift() passDef = authDef.join(':') } if (this.get(nerfed + ':_password')) { c.password = Buffer.from(this.get(nerfed + ':_password'), 'base64').toString('utf8') } else if (nerfed === defnerf && passDef) { c.password = passDef } if (this.get(nerfed + ':username')) { c.username = this.get(nerfed + ':username') } else if (nerfed === defnerf && userDef) { c.username = userDef } if (this.get(nerfed + ':email')) { c.email = this.get(nerfed + ':email') } else if (this.get('email')) { c.email = this.get('email') } if (c.username && c.password) { c.auth = Buffer.from(c.username + ':' + c.password).toString('base64') } return c }