lib/strategy.js
function Strategy(options, verify) {
  options = options || {};

  if (!options.baseURI) {
    throw new TypeError('EveSeatStrategy requires a baseURI option');
  }

  // Remove trailing slash if provided
  options.baseURI = options.baseURI.replace(/\/$/, '');

  options.authorizationURL = options.baseURI + '/oauth2/authorize';
  options.tokenURL = options.baseURI + '/oauth2/token';

  this._userProfileURL = options.baseURI + '/oauth2/profile';

  OAuth2Strategy.call(this, options, verify);
  this.name = 'eveseat';
}
function Strategy(options, verify) {
  options = options || {};

  if (!options.baseURI) {
    throw new TypeError('EveSeatStrategy requires a baseURI option');
  }

  // Remove trailing slash if provided
  options.baseURI = options.baseURI.replace(/\/$/, '');

  options.authorizationURL = options.baseURI + '/oauth2/authorize';
  options.tokenURL = options.baseURI + '/oauth2/token';

  this._userProfileURL = options.baseURI + '/oauth2/profile';

  OAuth2Strategy.call(this, options, verify);
  this.name = 'eveseat';
}
`Strategy` constructor.

The EVE SeAT authentication strategy authenticates requests by delegating to
EVE SeAT using the OAuth 2.0 protocol.

Applications must supply a `verify` callback which accepts an `accessToken`,
`refreshToken` and service-specific `profile`, and then calls the `done`
callback supplying a `user`, which should be set to `false` if the
credentials are not valid.  If an exception occured, `err` should be set.

Options:
- `clientID`      your SeAT application's app key found in the App Console
- `clientSecret`  your SeAT application's app secret
- `baseURI`       URI to which SeAT is hosted
- `callbackURL`   URL to which SeAT will redirect the user after granting authorization
- `scope`         Scopes to grant access to. Optional, but should be set to `character.profile,character.roles,email`

Examples:

passport.use(new EveSeatStrategy({
clientID: 'yourAppKey',
clientSecret: 'yourAppSecret'
baseURI: 'https://www.example.net',
callbackURL: 'https://www.example.net/oauth2/callback',
scope: 'character.profile,character.roles,email'
},
function(accessToken, refreshToken, profile, done) {
User.findOrCreate(..., function (err, user) {
done(err, user);
});
}
));

@param {Object} options
@param {Function} verify
@api public