code: function(code, params, callback) {
      if (typeof params === 'function') {
        callback = params;
        params = {};
      }
      params = _.extend({
        grant_type : "authorization_code",
        code : code,
        client_id : this.clientId,
        redirect_uri : this.redirectUri
      }, params || {});
      if (this.clientSecret) {
        params.client_secret = this.clientSecret;
      }
      return this._postParams(params, callback);
    }
docs: OAuth2 Web Server Authentication Flow (Authorization Code)
  Access Token Request
  
  @param {String} code - Authorization code
  @param {Object} [params] - Optional parameters to send in token retrieval
  @param {String} [params.code_verifier] - Code verifier value (RFC 7636 - Proof Key of Code Exchange)
  @param {Callback.<TokenResponse>} [callback] - Callback function
  @returns {Promise.<TokenResponse>}