signalk-mosquitto
Version:
SignalK plugin for managing Mosquitto MQTT broker with bridge connections and security
38 lines • 1.5 kB
TypeScript
import { PluginServerApp } from '@signalk/server-api';
import { MosquittoCompleteConfig, UserConfig, AclConfig, SecurityManager } from '../types/interfaces';
export declare class SecurityManagerImpl implements SecurityManager {
private app;
private config;
private dataDir;
private configDir;
private passwordFile;
private aclFile;
private usersFile;
private aclsFile;
private certsDir;
constructor(app: PluginServerApp, config: MosquittoCompleteConfig);
addUser(user: UserConfig): Promise<void>;
removeUser(username: string): Promise<void>;
updateUser(username: string, user: UserConfig): Promise<void>;
getUsers(): Promise<UserConfig[]>;
hashPassword(password: string): Promise<string>;
addAcl(acl: AclConfig): Promise<void>;
removeAcl(acl: AclConfig): Promise<void>;
getAcls(): Promise<AclConfig[]>;
generateCertificates(): Promise<void>;
validateCertificates(): Promise<boolean>;
private saveUsers;
private saveAcls;
private generatePasswordFile;
private generateAclFile;
private formatAclAccess;
enableUser(username: string): Promise<void>;
disableUser(username: string): Promise<void>;
changePassword(username: string, newPassword: string): Promise<void>;
exportSecurityConfig(): Promise<string>;
importSecurityConfig(configJson: string, overwrite?: boolean): Promise<{
users: number;
acls: number;
}>;
}
//# sourceMappingURL=security-manager.d.ts.map