$17 GRAYBYTE WORDPRESS FILE MANAGER $79

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.157
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/opt/alt/alt-nodejs19/root/usr/lib/node_modules/npm/lib/utils/

HOME
Current File : /opt/alt/alt-nodejs19/root/usr/lib/node_modules/npm/lib/utils//auth.js
const profile = require('npm-profile')
const log = require('../utils/log-shim')
const openUrlPrompt = require('../utils/open-url-prompt.js')
const read = require('../utils/read-user-info.js')
const otplease = require('../utils/otplease.js')

const adduser = async (npm, { creds, ...opts }) => {
  const authType = npm.config.get('auth-type')
  let res
  if (authType === 'web') {
    try {
      res = await profile.adduserWeb((url, emitter) => {
        openUrlPrompt(
          npm,
          url,
          'Create your account at',
          'Press ENTER to open in the browser...',
          emitter
        )
      }, opts)
    } catch (err) {
      if (err.code === 'ENYI') {
        log.verbose('web add user not supported, trying couch')
      } else {
        throw err
      }
    }
  }

  // auth type !== web or ENYI error w/ web adduser
  if (!res) {
    const username = await read.username('Username:', creds.username)
    const password = await read.password('Password:', creds.password)
    const email = await read.email('Email: (this IS public) ', creds.email)
    // npm registry quirk: If you "add" an existing user with their current
    // password, it's effectively a login, and if that account has otp you'll
    // be prompted for it.
    res = await otplease(npm, opts, (reqOpts) =>
      profile.adduserCouch(username, email, password, opts)
    )
  }

  // We don't know the username if it was a web login, all we can reliably log is scope and registry
  const message = `Logged in${opts.scope ? ` to scope ${opts.scope}` : ''} on ${opts.registry}.`

  log.info('adduser', message)

  return {
    message,
    newCreds: { token: res.token },
  }
}

const login = async (npm, { creds, ...opts }) => {
  const authType = npm.config.get('auth-type')
  let res
  if (authType === 'web') {
    try {
      res = await profile.loginWeb((url, emitter) => {
        openUrlPrompt(
          npm,
          url,
          'Login at',
          'Press ENTER to open in the browser...',
          emitter
        )
      }, opts)
    } catch (err) {
      if (err.code === 'ENYI') {
        log.verbose('web login not supported, trying couch')
      } else {
        throw err
      }
    }
  }

  // auth type !== web or ENYI error w/ web login
  if (!res) {
    const username = await read.username('Username:', creds.username)
    const password = await read.password('Password:', creds.password)
    res = await otplease(npm, opts, (reqOpts) =>
      profile.loginCouch(username, password, reqOpts)
    )
  }

  // We don't know the username if it was a web login, all we can reliably log is scope and registry
  const message = `Logged in${opts.scope ? ` to scope ${opts.scope}` : ''} on ${opts.registry}.`

  log.info('login', message)

  return {
    message,
    newCreds: { token: res.token },
  }
}

module.exports = {
  adduser,
  login,
}


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
3 Mar 2024 10.54 PM
root / root
0755
completion
--
3 Mar 2024 10.54 PM
root / root
0755
config
--
3 Mar 2024 10.54 PM
root / root
0755
ansi-trim.js
0.169 KB
6 Dec 2023 6.07 PM
root / root
0644
audit-error.js
1.016 KB
6 Dec 2023 6.07 PM
root / root
0644
auth.js
2.804 KB
6 Dec 2023 6.07 PM
root / root
0644
cmd-list.js
2.163 KB
6 Dec 2023 6.07 PM
root / root
0644
completion.fish
1.559 KB
6 Dec 2023 6.07 PM
root / root
0644
completion.sh
1.854 KB
6 Dec 2023 6.07 PM
root / root
0755
did-you-mean.js
1.463 KB
6 Dec 2023 6.07 PM
root / root
0644
display.js
3.434 KB
6 Dec 2023 6.07 PM
root / root
0644
error-message.js
13.532 KB
6 Dec 2023 6.07 PM
root / root
0644
exit-handler.js
6.739 KB
6 Dec 2023 6.07 PM
root / root
0644
explain-dep.js
3.5 KB
6 Dec 2023 6.07 PM
root / root
0644
explain-eresolve.js
2.546 KB
6 Dec 2023 6.07 PM
root / root
0644
format-bytes.js
0.614 KB
6 Dec 2023 6.07 PM
root / root
0644
format-search-stream.js
3.929 KB
6 Dec 2023 6.07 PM
root / root
0644
get-identity.js
0.783 KB
6 Dec 2023 6.07 PM
root / root
0644
is-windows.js
0.228 KB
6 Dec 2023 6.07 PM
root / root
0644
log-file.js
7.032 KB
6 Dec 2023 6.07 PM
root / root
0644
log-shim.js
1.678 KB
6 Dec 2023 6.07 PM
root / root
0644
npm-usage.js
2.041 KB
6 Dec 2023 6.07 PM
root / root
0644
open-url-prompt.js
1.438 KB
6 Dec 2023 6.07 PM
root / root
0644
open-url.js
1.088 KB
6 Dec 2023 6.07 PM
root / root
0644
otplease.js
1.229 KB
6 Dec 2023 6.07 PM
root / root
0644
ping.js
0.246 KB
6 Dec 2023 6.07 PM
root / root
0644
pulse-till-done.js
0.402 KB
6 Dec 2023 6.07 PM
root / root
0644
queryable.js
9.558 KB
6 Dec 2023 6.07 PM
root / root
0644
read-user-info.js
1.996 KB
6 Dec 2023 6.07 PM
root / root
0644
reify-finish.js
0.855 KB
6 Dec 2023 6.07 PM
root / root
0644
reify-output.js
4.968 KB
6 Dec 2023 6.07 PM
root / root
0644
replace-info.js
0.788 KB
6 Dec 2023 6.07 PM
root / root
0644
tar.js
3.899 KB
6 Dec 2023 6.07 PM
root / root
0644
timers.js
2.731 KB
6 Dec 2023 6.07 PM
root / root
0644
update-notifier.js
4.188 KB
6 Dec 2023 6.07 PM
root / root
0644
validate-lockfile.js
0.999 KB
6 Dec 2023 6.07 PM
root / root
0644
web-auth.js
0.545 KB
6 Dec 2023 6.07 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF