docs: function Strategy(options, verify) {
  
    if (typeof options == 'function') {
      verify = options;
      options = undefined;
    }
    options = options || {};
    if (!verify) { throw new TypeError('Squiddio Strategy requires a verify callback'); }
    if (!options.authorizationURL) { throw new TypeError('Squiddio Strategy requires a authorizationURL option'); }
    if (!options.tokenURL) { throw new TypeError('Squiddio Strategy requires a tokenURL option'); }
    if (!options.clientID) { throw new TypeError('Squiddio Strategy requires a clientID option'); }
    if (!options.clientSecret) { throw new TypeError('Strategy requires a clientSecret option'); }
  
    OAuth2Strategy.call(this, options, verify);
    //passport.Strategy.call(this);
    this.name = 'squiddio';
    //this._verify = verify;
  
    // NOTE: The _oauth2 property is considered "protected".  Subclasses are
    //       allowed to use it when making protected resource requests to retrieve
    //       the user profile.
    //this._oauth2 = new OAuth2(options.clientID,  options.clientSecret,
    //    '', options.authorizationURL, options.tokenURL, options.customHeaders);
  
    this._callbackURL = options.callbackURL;
    this._scope = options.scope;
    this._scopeSeparator = options.scopeSeparator || ' ';
    this._state = options.state;
    this._key = options.sessionKey || ('oauth2:' + url.parse(options.authorizationURL).hostname);
    this._trustProxy = options.proxy;
    this._passReqToCallback = options.passReqToCallback;
    this._skipUserProfile = (options.skipUserProfile === undefined) ? false : options.skipUserProfile;
  
    this._profileURL = options.profileURL || 'https://squidd.io/apps/v1/api/users/me';
    this._profileFields = options.profileFields || null;
  }