1.4.2 • Published 8 years ago

@oberd/olive-middleware-koa v1.4.2

Weekly downloads
4
License
ISC
Repository
github
Last release
8 years ago

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!`;
});