node package manager


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.


$ 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 for specification
// 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();
});'/token', server.oauth.token());
server.get('/secret', server.oauth.authenticate(), function(req, res, next) {

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.