@haventec/authenticate-js
v0.0.42
Published
Haventec Authenticate
Downloads
18
Keywords
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.