@quorum/restify-oauth-server

0.9.0 • Public • Published

Restify OAuth Server Build Status

Complete, compliant and well tested module for implementing an OAuth2 Server/Provider with restify in node.js. This module is a fork of express-oauth-server.

This is a restify wrapper for oauth2-server.

Installation

$ npm install restify-oauth-server

Quick Start

The module provides two middlewares - one for granting tokens and another to authorise them. restify-oauth-server and, consequently oauth2-server, expect the request body to be parsed already. The following example uses restify's 'body-parser but you may opt for an alternative library.

var restify = require('restify');
var OAuthServer = require('restify-oauth-server');

var server = restify.createServer();

server.oauth = new OAuthServer({
  model: {}, // See https://github.com/thomseddon/node-oauth2-server for specification
});

server.use(restify.acceptParser(server.acceptable));
server.use(restify.authorizationParser());
server.use(restify.bodyParser());

// Node Oauth2 Server expects the token request to be x-www-url-formencoded according to the Oauth2 spec
// Restify's body parser puts formencoded params in req.params, so we'll need a quick little bit of middleware to copy them over to the body
server.use(function(req, res, next) {
  if(req.headers['content-type'] === 'application/x-www-url-formencoded') req.body = req.params;
  return next();
});

server.post('/token', server.oauth.token());

server.get('/secret', server.oauth.authenticate(), function(req, res, next) {
  res.send('Authenticated!');
});

server.listen(3000);

You can find examples in the examples folder for different databases, but I haven't updated them or tested them yet, so take them for what they are.

/@quorum/restify-oauth-server/

    Package Sidebar

    Install

    npm i @quorum/restify-oauth-server

    Weekly Downloads

    4

    Version

    0.9.0

    License

    SEE LICENSE IN LICENSE

    Unpacked Size

    39.6 kB

    Total Files

    24

    Last publish

    Collaborators

    • hawthorned
    • botovance
    • matt-at-autovance
    • murraynator