@oberd/olive-middleware-koa

1.4.2 • Public • Published

Oberd Olive Middleware

Oberd single sign on and services middleware for koa

Installation:

npm install --save olive-middleware-koa

Middlewares:

env icons services session

Environment

Environment middleware provides access to server environment specific information, for building urls in the browser.

Routes

GET /env.js

Example Usage
var olive = require('olive-middleware-koa');
app.use(olive.env());
<script src="/env.js"></script>
<script>
// window.env is 
// 
// {
//     "env":"_demo",
//     "url":"http://{prefix}.oberd.dev/",
//     "cookieDomain":".oberd.dev"
// }
</script>

Icons

Requires session and services middleware

This plugin accesses the login service to pull the mobile media information for an institution, and respond with the appropriate images for favicon.ico, and apple-icon routes.

Routes

GET /apple-icon-[size]x[size].png

Where size is one of 180, 152, 120, 76, 32

Example Usage
var olive = require('olive-middleware-koa');
app.use(olive.session());
app.use(olive.services());
app.use(olive.icons());

Services

Provides proxy functionality, and attaches an sdk to the koa request object, so that you can pull in data and mash up before sending it back to the client.

Olive Configuration
{
    "services": {
        "login": {
            "url": "{oberd:login}"
        },
        "cpanel": {
            "url": "{oberd:cpanel}"
        }
    }
}
Service Usage from Browser

All login routes will be available from

/login/*

All cpanel routes will be available from

/cpanel/*

Service Usage from SDK
var olive = require('olive-middleware-koa');
app.use(olive.session());
app.use(olive.services());
app.use(function *() {
    // Proxy request out to login/session/person based on
    // olive.json
    var person = yield this.olive.login.get('/session/person');
    this.body = `Hi ${person.fullName}, welcome to Oberd Olive!`;
});

Readme

Keywords

none

Package Sidebar

Install

npm i @oberd/olive-middleware-koa

Weekly Downloads

1

Version

1.4.2

License

ISC

Last publish

Collaborators

  • oberd