Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

oada-client-discovery

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

oada-client-discovery

OADA (openag.io) client discovery middleware

  • 0.3.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Build Status Coverage Status Dependency Status License

oada-client-discovery-js

Connect style middleware for OADA (openag.io) client discovery.

Getting Started

Installation

The library can be installed with npm using

$ npm install oada-client-discovery

Running the Examples

Minimal Example

See examples README

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

API

clientDiscovery(lookup, options)

Connect style middleware for OADA client discovery.

To eliminate a dependency on any particular storage system or database a lookup function that fetches client registrations must be provided by the caller.

CORS is required by OADA client discovery and therefore automatically enabled. See node-cors.

Parameters

lookup {Function} that resolves a client registration from a client ID. It takes the form function(lookup, callback).

options {Object, Optional} possibly containing the following properties:

  • cors {Object} Options object for node-cors. Default: {}
Client Registration Object

An OADA client registration is a JSON document with at least the following properties:

  • clientId {String} client ID
  • redirectUrls {Array of Strings} Array of allowable OAuth 2.0 redirect URLs.
  • licenses {Array of Strings} Array of license names the client developer has agreed to.
  • keys {JSON Web Key (JWK) Set} containing the client's JWKs for use with OADA specific OAuth 2.0/OpenID Connect client secrets.
Example Client Registration
{
  "clientId": "123abc@agcloud.com",
  "redirectUrls": [
    "https://agcloud.com/redirect"
  ],
  "licenses": [
    "oada",
  ],
  "keys": [
    {
      "kty": "RSA",
      "use": "sig",
      "alg": "RS256",
      "kid": "ad8alkjca38afvudsZA",
      "n": "AOtWalmH3vZ2q2Be ... SRQjYzxqpyVR9HEJYJ",
      "e": "AQAB",
    }
  ]
}
Usage Example
var express = require('express');
var clientDiscovery = require('oada-client-discovery');

var app = express();

app.get('/clientDiscovery', clientDiscovery(
  function(clientId, cb) {
    clients.find({clientId: clientId}, function(err, clients) {
      if(err) { return cb(err); }

      cb(null, clients[0]);
    })
  }));

Keywords

FAQs

Package last updated on 17 Oct 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc