@iotize/tap
Version:
IoTize Device client for Javascript
74 lines • 5.05 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import '@iotize/tap/service/impl/group';
import '@iotize/tap/service/impl/interface';
import { debug } from './debug';
import { hashLoginPassword } from './utility';
const TAG = 'BasicAuth';
export class BasicAuth {
constructor(tap, options = {
hashPassword: false,
}) {
this.tap = tap;
this.options = options;
}
get hashPassword() {
var _a;
return ((_a = this.options) === null || _a === void 0 ? void 0 : _a.hashPassword) || false;
}
/**
* Tap login
*
*/
login(params) {
return __awaiter(this, void 0, void 0, function* () {
const { username, password } = params;
let response;
if (this.hashPassword) {
debug(TAG, `Using hash password login`);
response = yield this.tap.service.interface.loginWithHash({
username,
password: hashLoginPassword(password),
});
}
else {
debug(TAG, `Using regular login`);
response = yield this.tap.service.interface.login({
username,
password,
});
}
response.successful();
return {};
});
}
logout() {
return __awaiter(this, void 0, void 0, function* () {
(yield this.tap.service.interface.logout()).successful();
});
}
/**
* Change password for the groupId
* @param newPassword the new password for the userId
* @param userId the user id for which we want to change the password
*/
changePassword(newPassword, userId) {
return __awaiter(this, void 0, void 0, function* () {
if (this.hashPassword) {
const passwordBytes = hashLoginPassword(newPassword);
(yield this.tap.service.group.changePasswordKey(userId, passwordBytes)).successful();
}
else {
(yield this.tap.service.group.changePassword(userId, newPassword)).successful();
}
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2F1dGgvc3JjL2xpYi9iYXNpYy1hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxvQ0FBb0MsQ0FBQztBQUk1QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR2hDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU5QyxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUM7QUFFeEIsTUFBTSxPQUFPLFNBQVM7SUFPcEIsWUFDVSxHQUFRLEVBQ1QsVUFFSDtRQUNGLFlBQVksRUFBRSxLQUFLO0tBQ3BCO1FBTE8sUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNULFlBQU8sR0FBUCxPQUFPLENBSWI7SUFDQSxDQUFDO0lBWEosSUFBWSxZQUFZOztRQUN0QixPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxZQUFZLEtBQUksS0FBSyxDQUFDO0lBQzdDLENBQUM7SUFXRDs7O09BR0c7SUFDVSxLQUFLLENBQUMsTUFBd0I7O1lBQ3pDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDO1lBQ3RDLElBQUksUUFBUSxDQUFDO1lBQ2IsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNyQixLQUFLLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDLENBQUM7Z0JBQ3hDLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7b0JBQ3hELFFBQVE7b0JBQ1IsUUFBUSxFQUFFLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztpQkFDdEMsQ0FBQyxDQUFDO2FBQ0o7aUJBQU07Z0JBQ0wsS0FBSyxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO2dCQUNsQyxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO29CQUNoRCxRQUFRO29CQUNSLFFBQVE7aUJBQ1QsQ0FBQyxDQUFDO2FBQ0o7WUFDRCxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7WUFFdEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO0tBQUE7SUFFWSxNQUFNOztZQUNqQixDQUFDLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDM0QsQ0FBQztLQUFBO0lBRUQ7Ozs7T0FJRztJQUNVLGNBQWMsQ0FDekIsV0FBbUIsRUFDbkIsTUFBYzs7WUFFZCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JCLE1BQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNyRCxDQUNFLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FDdEUsQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNoQjtpQkFBTTtnQkFDTCxDQUNFLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQ2pFLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDaEI7UUFDSCxDQUFDO0tBQUE7Q0FDRiJ9