Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}
const authSettings = app.get('auth') || app.get('authentication') || {};
// Attempt to pull options from the global auth config
// for this provider.
const providerSettings = authSettings[name] || {};
const oauth2Settings = merge({
idField: `${name}Id`,
path: `/auth/${name}`,
__oauth: true
}, pick(authSettings, ...INCLUDE_KEYS), providerSettings, omit(options, ...EXCLUDE_KEYS));
// Set callback defaults based on provided path
oauth2Settings.callbackPath = oauth2Settings.callbackPath || `${oauth2Settings.path}/callback`;
oauth2Settings.callbackURL = oauth2Settings.callbackURL || makeUrl(oauth2Settings.callbackPath, app);
if (!oauth2Settings.clientID) {
throw new Error(`You must provide a 'clientID' in your authentication configuration or pass one explicitly`);
}
if (!oauth2Settings.clientSecret) {
throw new Error(`You must provide a 'clientSecret' in your authentication configuration or pass one explicitly`);
}
const Verifier = options.Verifier || DefaultVerifier;
const formatter = options.formatter || rest.formatter;
const handler = options.handler || defaultHandler(oauth2Settings);
const errorHandler = typeof options.errorHandler === 'function' ? options.errorHandler(oauth2Settings) : defaultErrorHandler(oauth2Settings);
// register OAuth middleware
debug(`Registering '${name}' Express OAuth middleware`);
const authSettings = app.get('auth') || app.get('authentication') || {};
// Attempt to pull options from the global auth config
// for this provider.
const providerSettings = authSettings[name] || {};
const oauth1Settings = merge({
idField: `${name}Id`,
path: `/auth/${name}`,
session: true,
__oauth: true
}, pick(authSettings, ...INCLUDE_KEYS), providerSettings, omit(options, ...EXCLUDE_KEYS));
// Set callback defaults based on provided path
oauth1Settings.callbackPath = oauth1Settings.callbackPath || `${oauth1Settings.path}/callback`;
oauth1Settings.callbackURL = oauth1Settings.callbackURL || makeUrl(oauth1Settings.callbackPath, app);
if (!oauth1Settings.consumerKey) {
throw new Error(`You must provide a 'consumerKey' in your authentication configuration or pass one explicitly`);
}
if (!oauth1Settings.consumerSecret) {
throw new Error(`You must provide a 'consumerSecret' in your authentication configuration or pass one explicitly`);
}
const Verifier = options.Verifier || DefaultVerifier;
const formatter = options.formatter || rest.formatter;
const handler = options.handler || defaultHandler(oauth1Settings);
const errorHandler = defaultErrorHandler(oauth1Settings);
// register OAuth middleware
debug(`Registering '${name}' Express OAuth middleware`);