summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/npm-registry-client/lib/authify.js
blob: 9b38a30a928305ab4bbea8f42d235766b2b77aae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
module.exports = authify

function authify (authed, parsed, headers, credentials) {
  if (credentials && credentials.otp) {
    this.log.verbose('request', 'passing along npm otp')
    headers['npm-otp'] = credentials.otp
  }
  if (credentials && credentials.token) {
    this.log.verbose('request', 'using bearer token for auth')
    headers.authorization = 'Bearer ' + credentials.token

    return null
  }

  if (authed) {
    if (credentials && credentials.username && credentials.password) {
      var username = encodeURIComponent(credentials.username)
      var password = encodeURIComponent(credentials.password)
      parsed.auth = username + ':' + password
    } else {
      return new Error(
        'This request requires auth credentials. Run `npm login` and repeat the request.'
      )
    }
  }
}