UNPKG

@xmobitea/gn-server

Version:

GearN Server by XmobiTea (Pro)

47 lines (46 loc) 2.32 kB
import express from "express"; import { AuthInfo } from "./../../GN-common/entity/AuthInfo"; import * as mongoDB from "mongodb"; import { Socket } from "socket.io"; import { SecretInfo } from "./../../GN-common/entity/SecretInfo"; import jwt from "jsonwebtoken"; import { TokenPayload } from "./../../GN-common/entity/TokenPayload"; export declare class ApiMiddleware { private static readonly FIVE_MINUTE_TS; private static readonly TS_REMOVE_AUTH_INFO_DIC; private static readonly DEFAULT_GAME_ID; private authInfoDict; private authInfoCollection; private secretInfoDict; private secretInfoCollection; private playerGameCollection; private expiredToken; private privateKeyToken; private headerIP; private dauLast30Min; private maxCCU; setSecretInfoCollection(secretInfoCollection: mongoDB.Collection<mongoDB.Document>): void; setAuthInfoCollection(authInfoCollection: mongoDB.Collection<mongoDB.Document>): void; setPlayerGameCollection(playerGameCollection: mongoDB.Collection<mongoDB.Document>): void; setExpiredToken(expiredToken: number): void; setPrivateKeyToken(privateKeyToken: string): void; setHeaderIP(headerIP: string): void; getHeaderIP(): string; run(): void; private getDAULast30Min; private checkAndRemoveDict; generateAuthInfo(payload: TokenPayload): AuthInfo; verifyAuthToken(authToken: string): jwt.JwtPayload; getSecretInfoBySecretKeyInDatabase(secretKey: string): Promise<SecretInfo>; getAuthInfoByGNTokenInDatabase(gnToken: string): Promise<AuthInfo>; updateSecretInfo(secretInfo: SecretInfo): Promise<void>; updateAuthInfo(authInfo: AuthInfo): Promise<void>; authenticateTokenViaJson(req: express.Request, res: express.Response, next: Function): Promise<any>; authenticateUploadToken(req: express.Request, res: express.Response, next: Function): Promise<any>; authenticateTokenViaMsgPack(req: express.Request, res: express.Response, next: Function): Promise<any>; getIP(req: express.Request, res: express.Response, next: Function): Promise<any>; getReturnCodeAuthenticate(req: express.Request): Promise<number>; socketAuthenticateToken(socket: Socket, next: (returnCode: number) => void): Promise<void>; createIP(ip: string): string; constructor(); }