JavaScript utility library to lookup OADA documents such as Well-Known (RFC 5785) resource, e.g., oada-configuration, openid-configuration, etc, and public OADA client registrations.
The library can be installed with yarn using
yarn add @oada/lookupThe libraries test can be ran with:
yarn testFetch a Well-Known (RFC 5785) Resource. The hostname will automatically be parsed from any URL.
hostname {String} Hostname (or URL) hosting the Well-Known resource being
requested. Sub-domains and ports are be persevered; Protocol, path, query
parameters, and hash are dropped. It is assumed that the Well-Known resource is
hosted with TLS (https) Pull Request appreciated
suffix {String} Well-Known resource suffix being requested.
options {Object} containing at least the following properties:
timeout{Number} Default: 1000 Timeout before HTTP request fails in ms.
cb {Function} Result callback. It takes the form function(err, resource) {}.
import { wellKnown } from '@oada/lookup';
const options = {
timeout: 500,
};
const resource = await wellKnown(
'provider.oada-dev.com',
'oada-configuration',
options
);
console.log(resource);Fetch a client registration from an OADA client id.
clientId {String} The OADA client id to lookup the client registration for. It
takes a form similar to email: id@domain.
options {Object} containing at least the following properties:
timeout{Number} Default: 1000 Timeout before HTTP request fails in ms.
cb {Function} Result callback. It takes the form function(err, registration){}.
import { clientRegistration } from '@oada/lookup';
const options = {
timeout: 500,
};
const registration = await clientRegistration(
'xJx82s@provider.oada-dev.com',
options
);
console.log(registration);Fetch a Json Web Key Set (JWKS) from an URI.
uri {String} The URI containing the desired JWKS document. For example, the
value of the OpenID Connect openid-configuration jwks_uri property.
options {Object} containing at least the following properties:
timeout{Number} Default: 1000 Timeout before HTTP request fails in ms.
cb {Function} Result callback. It takes the form function(err, jwks){}.
import { jwks } from '@oada/lookup';
const options = {
timeout: 500,
};
const JWKset = await jwks('provider.oada-dev.com/oidc/jwks', options);
console.log(JWKset);