keycloak-typescript
Version:
A user friendly library to use keycloak in nodejs projects
41 lines (40 loc) • 2.04 kB
TypeScript
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>;
}