code: function Strategy(options, verify) {
    options = options || {};
    options.authorizationURL = options.authorizationURL || 'https://auth.login.yahoo.co.jp/yconnect/v1/authorization';
    options.tokenURL = options.tokenURL || 'https://auth.login.yahoo.co.jp/yconnect/v1/token';
    options.scopeSeparator = options.scopeSeparator || ' ';
  
    OAuth2Strategy.call(this, options, verify);
    this.name = 'yj';
    this._profileURL = options.profileURL || 'https://userinfo.yahooapis.jp/yconnect/v1/attribute';
    this._profileFields = options.profileFields || null;
  }
docs: `Strategy` constructor.
  
  The Yahoo JAPAN authentication strategy authenticates requests by delegating to
  Yahoo JAPAN 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 Yahoo JAPAN application's App ID
  - `clientSecret`  your Yahoo JAPAN application's App Secret
  - `callbackURL`   URL to which Yahoo JAPAN will redirect the user after granting authorization
  
  Examples:
  
  passport.use(new  YJStrategy({
  clientID: '123-456-789',
  clientSecret: 'shhh-its-a-secret',
  callbackURL: 'https://www.example.net/auth/yj/callback',
  },
  function(accessToken, refreshToken, profile, done) {
  User.findOrCreate(..., function (err, user) {
  done(err, user);
  });
  }
  ));
  
  @param {Object} options
  @param {Function} verify
  @api public