@point3/logto-module
Version:
포인트3 내부 logto Authentication 모듈입니다
41 lines (40 loc) • 2.27 kB
TypeScript
import { LoggerService } from "@nestjs/common";
import { LogtoM2MConfig } from "./config";
import { LogtoTokenVerifier } from "../token";
import { LogtoPersonalAccessTokenResponse, LogtoRole, LogtoRoleResponse, LogtoUser, LogtoUserResponse } from "./types";
import { p3Values } from "point3-common-tool";
export declare const LogtoM2MClientToken: unique symbol;
export declare class LogtoM2MClient {
private readonly config;
private readonly tokenVerifier;
private readonly logger;
private logtoConfig;
private accessToken?;
private readonly authRestTemplate;
private readonly apiRestTemplate;
constructor(config: LogtoM2MConfig, tokenVerifier: LogtoTokenVerifier, logger: LoggerService);
fetchAccessToken(): Promise<void>;
fetchAccessTokenByPAT(pat: string): Promise<{
accessToken: string;
}>;
private getAccessToken;
getRoles(): Promise<LogtoRoleResponse[]>;
getRoleByName(name: string): Promise<LogtoRoleResponse>;
createRole(role: LogtoRole): Promise<LogtoRoleResponse>;
assignRoleToUser(userId: string, roleId: string): Promise<void>;
createUser(user: LogtoUser): Promise<string>;
updateUserClientInfo(userId: string, clientId?: string): Promise<void>;
getUser(id: string): Promise<LogtoUserResponse>;
getUserByUsername(username: string): Promise<LogtoUserResponse>;
suspendUser(userId: string): Promise<LogtoUserResponse>;
deleteUser(userId: string): Promise<void>;
deleteUserRole(userId: string, roleId: string): Promise<void>;
unsuspendUser(userId: string): Promise<LogtoUserResponse>;
sendVerificationCode(identifier: p3Values.PhoneNumber | p3Values.Email): Promise<void>;
verifyCode(identifier: p3Values.PhoneNumber | p3Values.Email, code: string): Promise<void>;
updateUserPassword(userId: string, password: string): Promise<LogtoUserResponse>;
addPersonalAccessToken(userId: string, name: string, expiresIn?: number): Promise<LogtoPersonalAccessTokenResponse>;
deletePersonalAccessToken(userId: string, name: string): Promise<void>;
getPersonalAccessTokens(userId: string): Promise<LogtoPersonalAccessTokenResponse[]>;
}
export declare function generatePhoneNumberWithCountryCode(countryCode: string, phoneNumber: string): string;