UNPKG

keycloak-typescript

Version:

A user friendly library to use keycloak in nodejs projects

41 lines (40 loc) 2.04 kB
import { IUserManager } from './Interfaces/IUserManager'; import { IObserver } from '../observer/IObserver'; import { ISubject } from '../observer/ISubject'; import { User } from '../models/user'; import { RealmManager } from './RealmManager'; import { ClientManager } from './ClientManager'; export default class UserManager extends IUserManager implements IObserver { private readonly url; private accessToken; private allowedUserFields; private realmManager; private clientManager; constructor(url: string, realmManager: RealmManager, clientManager: ClientManager, allowedUserFields?: string[]); /** * * @param queryParameter * - briefRepresentation: Defines whether brief representations are returned * - email: User's email * - emailVerified: whether the email has been verified * - enabled: User is enabled or not * - firstName * - lastName * @param queryValue * @returns { User[] } */ getUsers: (queryParameter: string, queryValue: string) => Promise<User[]>; getUserId: (username: string) => Promise<string>; get: (userId: string) => Promise<User>; create: (email: string, username: string, enabled: boolean, firstName: string, lastName: string, password: string, isTemporaryPassword: boolean, verifyEmail: boolean, attributes: string) => Promise<string>; modify(userId: string, user: User, isReplaceOperation: boolean): Promise<User>; resetPassword: (userId: string, newPassword: string, isTemporary: boolean) => Promise<void>; forgotPassword: (userId: string) => Promise<void>; sendVerificationMail: (userId: string) => Promise<void>; update(subject: ISubject, args: string[]): void; protected trimUserInfo(user: User): User; protected fuseUsers(a: User, b: User): User; protected getRoles(userId: string): Promise<never>; protected modifyRoles(userId: string, realmRoles?: string[], clientRoles?: Map<string, string[]>): Promise<void>; delete: (userId: string) => Promise<void>; }