code: function Strategy(options, verify) {
    options = options || {};
    options.service = options.service || 'https://indieauth.com/auth';
  
    passport.Strategy.call(this);
    this.name = 'indieauth';
    this._verify = verify;
    this._service = options.service;
    this._clientID = options.clientID;
    this._callbackURL = options.callbackURL;
    this._passReqToCallback = options.passReqToCallback;
  }
docs: `Strategy` constructor.
  
  The IndieAuth authentication strategy authenticates requests by delegating to
  an IndieAuth server using the IndieAuth protocol, which handles third-party
  authentication validation itself.
  
  Options:
  `service`:       the URI for the IndieAuth service (by default `https://indieauth.com/auth`)
  `client_id`:     your client ID (i.e. your application's identity, typically your domain)
  `redirect_uri`:  your website's callback URL.
  
  Examples:
  
  passport.use(new IndieAuthStrategy({
  service: "https://indieauth.com/auth",
  client_id: "https://yourdomain.com",
  redirect_uri: "http://yourdomain.com/auth/indieauth/callback"
  },
  function(profile, done) {
  User.findOrCreate(..., function (err, user) {
  done(err, user);
  });
  }
  ));
  
  @param {Object} options
  @param {Function} verify
  @api public