Dead-simple authentication for diet.js
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Dead-simple authentication for diet.js.


npm install diet-auth

Supported Services

Service Protocol Scope List
facebook OAuth 2.0
google OAuth 2.0
More services are coming soon.

Example Facebook Authentication

// index.js
var server = require('diet')
var app = server()
var auth  = require('diet-auth')(app)

// Setup Auth Service
var facebook = auth('facebook', {
	id		: 'yourId',             // facebook app id
	secret	: 'yourSecret',         // facebook app secret
	scope	: 'email'               // specify facebook scopes

// Listen on GET /auth/facebook/redirect
app.get(facebook.redirect, function($){
        $.end('Hello' + $.data.user.first_name + '!')
    } else {
        $.end('Something went wrong: ' + $.error)
  • Visiting http://localhost:8000/auth/facebook will bring up the facebook login page.
  • After the user agreed or declined access to the application it will be redirected to your Redirect URL that is held in facebook.redirect
  • if $.passed is true then you'll have access to the $.data.user object that contains every profile information that you requested with the scope.
  • If $.passed is false then you can see what's wrong in the $.error method.


diet-auth has a generalised api for all services. The only differences between services is the scope names and the $.data.user object.

// Setup Auth Service 
var yourService = auth('yourService', {
	id		: 'yourServiceId',             // service app id
	secret	: 'yourServiceSecret',         // service app secret
	scope	: 'email'                      // specify facebook scopes

// Listen on GET /auth/yourService/redirect
app.get(yourService.redirect, function($){
        $.end('Hello' + $.data.user.first_name + '!')
    } else {
        $.end('Something went wrong: ' + $.error)

Upcoming Features:

  • Better API documentation
  • Twitter authorization
  • Linkedin authorization
  • Github authorization
  • Windows Live authorization
  • Yahoo authorization
  • Trello authorization