code: function userInfo (credentials, done) {
    var strategy = this
    var provider = strategy.provider
    var endpoint = strategy.endpoints.user
    var mapping = strategy.mapping
    var client = strategy.client
    var method = endpoint.method && endpoint.method.toLowerCase()
    var url = endpoint.url
    var header = endpoint.header || 'Authorization'
    var scheme = endpoint.scheme || 'OAuth'
    var key = client.oauth_consumer_key
    var token = credentials.oauth_token
    var secret = client.oauth_consumer_secret
    var signer = provider.oauth_signature_method || 'PLAINTEXT'
    var ctype = 'application/x-www-form-urlencoded'
    var params = {}
  
    var query = { user_id: credentials.user_id } // twitter specific
  
    // Initialize request
    var req = request[method || 'get'](url)
  
    req.query(query)
  
    // Params
    params.oauth_consumer_key = key
    params.oauth_signature_method = signer
    params.oauth_timestamp = timestamp()
    params.oauth_nonce = nonce(32)
    params.oauth_token = token
    params.oauth_version = '1.0'
  
    // Authenticate
    var input = signatureBaseString(
      method,
      url,
      normalizeParameters(params) + '&' +
      normalizeParameters(query)
    )
  
    params.oauth_signature = sign(
      signer, input, secret, credentials.oauth_token_secret
    )
  
    // Set Authorization header
    req.set(header, scheme + ' ' + authorizationHeaderParams(params))
  
    // Set other headers
    req.set('Content-Type', ctype)
    req.set('User-Agent', agent)
  
    return req.end(function (err, res) {
      if (err) { return done(err) }
      // error
      if (res.statusCode !== 200) {
        return done(
          new Error('Unable to obtain user profile.')
        )
      }
  
      var profile = { provider: strategy.name }
      map(mapping, res.body, profile)
  
      done(null, profile)
    })
  }
docs: User Info