oada-lookup

    0.4.1 • Public • Published

    Build Status Coverage Status Dependency Status License

    oada-lookup-js

    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.

    Getting Started

    Installation

    The library can be installed with npm using

    $ npm install oada-lookup

    Running the tests, coverage, and style checks

    The libraries test can be ran with:

    $ npm test

    The coverage report is generated by:

    $ npm run cover

    Gulp runs jshint (lint) and jscs (style) with:

    $ gulp lint
    $ gulp style

    wellKnown(hostname, suffix, options, cb)

    Fetch a Well-Known (RFC 5785) Resource. The hostname will automatically be parsed from any URL.

    Parameters

    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) {}.

    Usage Example

    var lookup = require('oada-lookup');
     
    var options = {
      timeout: 500
    };
     
    lookup.wellKnown('provider.oada-dev.com', 'oada-configuration', options,
      function(err, resource) {
        console.log(err);
        console.log(resource);
      });

    clientRegistration(clientId, options, cb)

    Fetch a client registration from an OADA client id.

    Parameters

    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){}.

    Usage Example

    var lookup = require('oada-lookup');
     
    var options = {
      timeout: 500
    };
     
    lookup.clientRegistration('xJx82s@provider.oada-dev.com', options,
      function(err, registration) {
        console.log(err);
        console.log(registration);
      });

    jwks(uri, options, cb)

    Fetch a Json Web Key Set (JWKS) from an URI.

    Parameters

    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){}.

    Usage Example

    var lookup = require('oada-lookup');
     
    var options = {
      timeout: 500
    };
     
    lookup.jwks('provider.oada-dev.com/oidc/jwks', options,
      function(err, jwks) {
        console.log(err);
        console.log(jwks);
      });

    References

    1. Defining Well-Known Uniform Resource Identifiers (URIs)
    2. OpenID Discovery

    Install

    npm i oada-lookup

    DownloadsWeekly Downloads

    16

    Version

    0.4.1

    License

    Apache-2.0

    Last publish

    Collaborators

    • abalmos