passport-openidconnect-kc-idp
Version:
OpenID Connect authentication strategy for Passport.
27 lines (22 loc) • 987 B
JavaScript
exports = module.exports = function(options) {
return function manual(identifier, cb) {
var missing = ['issuer', 'authorizationURL', 'tokenURL', 'clientID', 'clientSecret'].filter( function(opt) { return !options[opt] } );
if (missing.length) return cb(new Error('Manual OpenID configuration is missing required parameter(s) - ' + missing.join(', ')));
var params = {
issuer: options.issuer,
authorizationURL: options.authorizationURL,
tokenURL: options.tokenURL,
userInfoURL: options.userInfoURL,
clientID: options.clientID,
clientSecret: options.clientSecret,
callbackURL: options.callbackURL,
kc_idp_hint: options.kc_idp_hint
}
Object.keys(options).map(opt => {
if (['nonce', 'display', 'prompt', 'max_age', 'ui_locals', 'id_token_hint', 'login_hint', 'acr_values'].indexOf(opt) !== -1) {
params[opt] = options[opt];
}
});
return cb(null, params);
};
};