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.59
  • Source
  • npm
  • Socket score

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

express-api-user-management-signup

Boilerplate for quickly building login systems on top of apis. 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

Install: standalone

sudo npm install coffee-script -g
npm install express-api-user-management-signup
WEBHOOKURL="http://localhost:8123" node app.js 
# or 
WEBHOOKURL="http://localhost:8123" coffee app.coffee

Install: as library

Use it directly in your existing express servercode:

cd my-express-server-root
npm install express-api-user-management-signup
npm install jade mongodb stylus moment emailjs coffee-script

In your existing express-app, just put this above app.listen(....) :

require("./usermanagement.js")(app,express);

where usermanagement.js looks something like this:

var config = {
  webhook: {
    url:  "http://" + host + ":" + port,
    requestdata: { headers: { "x-some-token":"l1kj2k323"} }
  },
  mongo:       { 
    host: "localhost", 
    port: 27017, 
    name: "foo"
    // user: "foo",
    // password: "23kj4"
  },
  layout:      {
    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"
  }
}
module.parent.require("coffee-script/register")
module.parent.require('express-api-user-management-signup/lib')(app,express,config)

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

  • 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 ('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 21 May 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