Neurological Phenomenon Multiplexer

    provide-user

    1.0.0 • Public • Published

    provide-user

    build status npm version npm downloads

    Provides basic user creation and authentication.

    Table of contents

    1. Installation
    2. Quick start
    3. Custom usage
    4. Under the hood
    5. Protip
    6. TODO

    Installation

    npm install provide-user --save
    

    Quick start

    It's probably easiest to use Lumbur, as it has everything already setup for you. All you do is copy Lumbur into a new project directory and run npm install. You'll be prompted for details about your new project, and after that you should be good to go!

    Custom usage

    First, make sure you have a replicator assigned to your provider(s) so that user data can be stored within your database of choice.

    import { pushReplicator } from 'react-redux-provide';
    import rethinkDB from 'redux-replicate-rethinkdb';
    import defaultProps from './defaultProps';
     
    pushReplicator(defaultProps.providers, rethinkDB);

    Then you'll need to set the hasher you would like to use for hashing user passwords. The provider expects an API matching bcrypt, so it's probably easiest to simply use bcrypt, but you can use anything as long as the API is the same.

    import defaultProps from './defaultProps';
    import bcrypt from 'bcrypt';
     
    defaultProps.providers.user.state = { hasher: bcrypt };

    And last but not least, you'll need to use something like provide-id-gen to generate IDs for your users, and something like provide-page to manage user sessions. See Lumbur's UserLogIn component for a complete example.

    Under the hood

    If you check the source, there isn't much to it! That's because this particular provider is a composition of provide-crud and provide-authentication. More functionality will most likely be coming soon, but for now, this composition gives you the following...

    Actions:

    • createUser (Object state, Function genId, Optional Function onSuccess)
    • authenticateUser (Object state, Optional Function onSuccess)
    • updateUser (Object updates, Optional Function onSuccess)
    • deleteUser (Optional Function onSuccess)
    • undeleteUser (Optional Function onSuccess)
    • setUserName (String userName)

    And reducers:

    • userId (replicated)
    • userName (replicated, queryable)
    • userPasswordHash (replicated, server-only)
    • userError (replicated)
    • userDeleted (replicated, queryable)

    Protip

    Use provide-id-gen for your genId argument when creating a user!

    TODO

    Install

    npm i provide-user

    DownloadsWeekly Downloads

    7

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • timbur