Skip to content
Snippets Groups Projects
Select Git revision
  • 0dc1fd416a6775a35501b71c565c957d60085a37
  • master default protected
2 results

README.md

Blame
  • user avatar
    James D'Alton authored
    b626ad67
    History

    registry-auth-token

    npm versionBuild Status

    Get the auth token set for an npm registry from .npmrc. Also allows fetching the configured registry URL for a given npm scope.

    Installing

    npm install --save registry-auth-token

    Usage

    Returns an object containing token and type, or undefined if no token can be found. type can be either Bearer or Basic.

    var getAuthToken = require('registry-auth-token')
    var getRegistryUrl = require('registry-auth-token/registry-url')
    
    // Get auth token and type for default `registry` set in `.npmrc`
    console.log(getAuthToken()) // {token: 'someToken', type: 'Bearer'}
    
    // Get auth token for a specific registry URL
    console.log(getAuthToken('//registry.foo.bar'))
    
    // Find the registry auth token for a given URL (with deep path):
    // If registry is at `//some.host/registry`
    // URL passed is `//some.host/registry/deep/path`
    // Will find token the closest matching path; `//some.host/registry`
    console.log(getAuthToken('//some.host/registry/deep/path', {recursive: true}))
    
    // Find the configured registry url for scope `@foobar`.
    // Falls back to the global registry if not defined.
    console.log(getRegistryUrl('@foobar'))
    
    // Use the npm config that is passed in
    console.log(getRegistryUrl('http://registry.foobar.eu/', {
      npmrc: {
        'registry': 'http://registry.foobar.eu/',
        '//registry.foobar.eu/:_authToken': 'qar'
      }
    }))

    Return value

    // If auth info can be found:
    {token: 'someToken', type: 'Bearer'}
    
    // Or:
    {token: 'someOtherToken', type: 'Basic'}
    
    // Or, if nothing is found:
    undefined

    Security

    Please be careful when using this. Leaking your auth token is dangerous.

    License

    MIT-licensed. See LICENSE.