Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

express-api-user-management-signup

Package Overview
Dependencies
Maintainers
1
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

express-api-user-management-signup

adds user frontend with login-, registration-, and webhook- features to your (express) application. Startingpoint for DIY api management

  • 0.0.61
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
9
decreased by-75%
Maintainers
1
Weekly downloads
 
Created
Source

express-api-user-management-signup

Middleware for quickly building login systems on top of apis/express apps. This module adds a user facade-backend with login / registration on top of that. Good startingpoint for DIY api management, processable thru webhooks.

WARNING: BETA, not production ready

login
login (basic theme)
logged in
form generation using jsonschema

Installation

npm install -g coffeescript 
npm install jade express@3.0.6
npm install express-api-user-management-signup

Usage

var app, cfg, express, http, port, usermanagement, webhookhost, webhookport;

express = require('express');
http = require('http');
require("coffee-script/register");
usermanagement = require('./index.coffee');

app = express();
port = process.env.PORT || 3010;
webhookport = process.env.WEBHOOK_HOST || port;
webhookhost = process.env.WEBHOOK_HOST || 'http://127.0.0.1';

cfg = {
  webhook: {
    url: 'http://' + webhookhost + ':' + webhookport,
    requestdata: {
      headers: {
        'x-some-token': 'l1kj2k323'
      }
    }
  },
  mongo: {
    host: 'localhost',
    port: 27017,
    name: 'foo'
  },
  layout: {
    theme: __dirname + '/app/public.account',    // define your own 
    // theme: __dirname + '/app/public.basic',   // templates
    title: {
      brand: 'Projectname',
      welcome: 'Please login to your account'
    },
    menu: {
      'Apidoc': {
        target: '_blank',
        url: '/api/v1/doc'
      },
      '---': '---',
      'Contact': {
        target: '_blank',
        url: 'mailto:support@foo.com'
      }
    },
    formurl: '/js/form.json'
  }
};

app.set('port', port);
app.use(usermanagement(app, express, cfg));
http.createServer(app).listen(app.get('port'), function() {
  console.log('Express server listening on port ' + app.get('port'));
});

Themes

Define your own templates for easy integration with your js/css/html framework:

cp -R node_modules/express-api-user-management-signup/app/public.basic mytheme

and in the config define

...
  layout: {
    theme: __dirname + '/mytheme'
...

Features:

  • coffeescript yay!
  • New User Account Creation
  • Secure Password Reset via Email
  • Ability to Update / Delete Account
  • Session Tracking for Logged-In Users
  • Local Cookie Storage for Returning Users
  • Blowfish-based Scheme Password Encryption
  • end-user webhooks
  • optional internal webhooks for flexibilitystorage (to integrate with api proxy like apiaxle or emailgateway e.g.)
  • logging of db actions
  • apikey support + regeneration of apikey
  • works standalone and as express drop-in lib (the latter needs improvement eg. app.use)
  • flexible form using (optionally remote) jsonschema
  • optional google analytics by passing environment variable GOOGLE_ANALYTICS_TOKEN=LK-2342LK

Extend forms easily

By using jsonform, we can easily extend the form without having to fiddle with database code. Just have a look at :

HINT: you can change the 'formurl'-parameter of 'app.[js,coffee]' (or the json above) into a remote url in order to remotely manage the form

Webhooks

The following webhooks are fired whenever these things occur:

  • configuredhost + /add when user adds account
  • configuredhost + /update when user updates account
  • configuredhost + /update/pass when user changes password
  • configuredhost + /update/apikey when user regenerates apikey
  • configuredhost + /login when user logs in
  • configuredhost + /reset/pass when user resets password

Where configuredhost is defined by you in the config ('http://mygateway.com/foo' e.g.) These webhooks can be reacted upon by other middle/software in order to send emails or update api proxy settings e.g.

Todo

  • tests
  • responsive ui (for smartphone etc)
  • url validation for webhook url in jsonschema
  • smaller fonts jsonform validation error tooltips (to match the layout)

Built with

FAQs

Package last updated on 16 Aug 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc