@haventec/authenticate-js

Haventec Authenticate

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
@haventec/authenticate-js
Minified + gzip package size for @haventec/authenticate-js in KB

Readme

Haventec Authenticate JS

Haventec Authenticate Javascript SDK

Enables JavaScript interfacing to the Haventec Authenticate platform. Includes registration/logging in facilities to log in to a specific Haventec Application; Configuration of device, user, groups, roles, and general configuration for that application

Most of the functions return a standard Promise with specific JSON-format data.

Authentication functions:

    register(username: string, pin: string, applicationUUID: string, token: string): Promise<{}>;
    login(username: string, pin: string): Promise<{}>;
    forgotpin(username: string, pin: string): Promise<{}>;
    reprovision(username: string, pin: string, requestId: string, token: string): Promise<{}>;
    tenantCreate(tenantName: string, username: string, email: string, pin: string): Promise<{}>;
    sessionValid(): boolean;

User functions:

    listUsers(page: number, size: number): Promise<{}>;
    getUser(username: string): Promise<{}>;
    changeUserLockStatus(username: string): Promise<{}>;
    deleteUser(username: string): Promise<{}>;
    preprovision(username: string, deviceName: string, groupName: string): Promise<{}>;

Group/Role functions:

    getUserGroups(username: string): Promise<{}>;
    updateUserGroups(username: string, groupNames: Array<string>): Promise<{}>;
    listGroups(page: number, size: number): Promise<{}>;
    getGroup(name: string): Promise<{}>;
    updateGroup(name: string, description: string): Promise<{}>;
    deleteGroup(name: string): Promise<{}>;
    getGroupRoles(name: string): Promise<{}>;
    updateGroupRoles(name: string, roleNames: Array<string>): Promise<{}>;
    listRoles(page: number, size: number): Promise<{}>;
    getRole(name: string): Promise<{}>;
    updateRole(name: string, description: string): Promise<{}>;
    deleteRole(name: string): Promise<{}>;

Device functions:

    listDevices(page: number, size: number): Promise<{}>;
    getDevice(udid: string): Promise<{}>;
    updateDevice(udid: string, deviceName: string, failedAttempts: number): Promise<{}>;
    changeDeviceLockStatus(udid: string): Promise<{}>;
    deleteDevice(udid: string): Promise<{}>;

Application functions:

    listApplications(page: number, size: number): Promise<{}>;
    getApplication(name: string): Promise<{}>;
    updateApplication(name: string, description: string, uuid: string, apiKey: string): Promise<{}>;

System configuration functions:

    listCategories(): Promise<{}>;
    getPropertiesForCategory(categoryname: string): Promise<{}>;
    updatePropertyForCategory(categoryname: string, propertyname: string, propertyvalue: string): Promise<{}>;
    deletePropertyForCategory(categoryname: string, propertyname: string): Promise<{}>;
    deleteCategory(name: string): Promise<{}>;

Invoke the above methods on an instance of the HaventecAuthenticate object

Installation

npm install haventec/authenticate-js

JavaScript:

var HaventecAuthenticate = require('@haventec/authenticate-js');

var haventecAuthenticate = new HaventecAuthenticate('http://haventec-authenticate-domain.com');

haventecAuthenticate.getUser('myusername').then(function(response) {
  var user = response.users.content[0];
}).catch(function(error) {
  handleError(error);
});

TypeScript:

import {HaventecAuthenticate} from "@haventec/authenticate-js/ts";

Contributors

  • John Kelaita
  • Justin Crosbie

Development

Getting Started

Prerequisites

Install the Git hooks

./scripts/git/install-git-hooks.sh

License

This code is available under the MIT license. A copy of the license can be found in the LICENSE file included with the distribution.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.