@haventec/cloudportal-js
    TypeScript icon, indicating that this package has built-in type declarations

    0.0.51 • Public • Published

    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.

    Keywords

    none

    Install

    npm i @haventec/cloudportal-js

    DownloadsWeekly Downloads

    0

    Version

    0.0.51

    License

    none

    Last publish

    Collaborators

    • haventec_bamboo
    • vpmurdoch
    • jcrosbie
    • luke_hornibrook