Skip to content

mharj/openid-cert-loader

Repository files navigation

openid-cert-loader

Build Status Dependency Status

Basic loader for OpenID provider certificates

Example

let ocl = new OpenIDCertLoader();
ocl.addLoader(googleCertLoader);
ocl.addLoader(()=>azureCertLoader('common'));
...
...
ocl.getCert(someKid)
	.then( (cert) => {
		jwt.verify(token, cert, ....
	})

Old example (deprecated)

const OpenIDCertLoader = require('openid-cert-loader');
let certs = {};
function loadCerts() {
	console.log('loading certs');
	let ocl = new OpenIDCertLoader();
	return Promise.all([
		ocl.getGoogleCerts(), // Google
	]).then(function(_certLists) {
		_certLists.forEach( (_certs) => {
			Object.keys(_certs).forEach(function(kid) {
				certs[kid] =_certs[kid];
			});
		});
	});
}
function getCert(kid) {
	if ( certs[kid] ) {
		return Promise.resolve(certs[kid]);
	} else {
		return loadCerts()
			.then( () => {
				if ( certs[kid] ) {
					return Promise.resolve(certs[kid]);
				} else {
					throw new Error('Certificate problem, no Key ID found');
				}
			});
	}
}

module.exports.loadCerts = loadCerts;
module.exports.getCert = getCert;

About

Basic loader for OpenID provider certificates

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published