code: function GoogleTokenStrategy(options, verify) {
    if (typeof options == 'function') {
      verify = options;
      options = {};
    }
  
    if (!verify) throw new Error('GoogleTokenStrategy requires a verify function');
  
    this._passReqToCallback = options.passReqToCallback;
  
    this._clientID = options.clientID;
    this._jwtOptions = options.jwtOptions || {};
    this._getGoogleCerts = options.getGoogleCerts || getGoogleCerts;
  
    Strategy.call(this);
    this.name = 'google-id-token';
    this._verify = verify;
  }
docs: `Strategy` constructor.
  
  The Google authentication strategy authenticates requests by verifying the
  signature and fields of the token.
  
  Applications must supply a `verify` callback which accepts the `idToken`
  coming from the user to be authenticated, and then calls the `done` callback
  supplying a `parsedToken` (with all its information in visible form) and the
  `googleId`.
  
  Options:
  - `clientID` your Google application's client id (or several as Array)
  - `getGoogleCerts` optional custom function that returns the Google certificates
  
  Examples:
  
  passport.use(new GoogleTokenStrategy({
  clientID: '123-456-789',
  getGoogleCerts: optionalCustomGetGoogleCerts
  },
  function(parsedToken, googleId, done) {
  User.findOrCreate(..., function (err, user) {
  done(err, user);
  });
  }
  ));
  
  @param {Object} options
  @param {Function} verify
  @api public