UNPKG

streambird

Version:
63 lines (62 loc) 1.87 kB
import { AxiosInstance } from "axios"; import { Resource } from "../Resource"; import { MessageResponse } from "../shared/MessageResponse"; import { Session } from "../shared/Session"; import { JWTVerifyGetKey } from "jose"; export declare type SessionVerifyRequest = { sessionToken?: string; sessionJwt?: string; sessionExpiresIn?: number; }; export declare type SessionVerifyResponse = { sessionToken: string; sessionJwt: string; session: Session; }; export declare type SessionDeleteRequest = { sessionId: string; sessionToken: string; sessionJwt: string; }; export declare type SessionsListResponse = { sessions: Array<Session>; }; export declare type JwkConfig = { appID?: string; jwksGetKey: JWTVerifyGetKey; }; export declare type JwkResponse = { keys: Array<JwkKey>; }; export declare type JwkKey = { alg: string; e: string; keyOps: Array<string>; kid: string; kty: string; n: string; use: string; x5c: Array<string>; 'x5t#S256': string; }; export declare type JwtLocalParams = { clockTolerance?: number; maxTokenAge?: number; currentDate?: Date; }; export declare class Sessions extends Resource<never> { private jwksGetKey; private sessionRequest; constructor(axiosInstance: AxiosInstance, jwkConfig: JwkConfig); list(userId: string): Promise<SessionsListResponse>; verify(verifyRequest: SessionVerifyRequest): Promise<SessionVerifyResponse>; delete(deleteRequest: SessionDeleteRequest): Promise<MessageResponse>; jwks(): Promise<JwkResponse>; verifyJwt(jwt: string, options?: { maxTokenAge?: number; }): Promise<{ session: Session; sessionJwt: string; }>; verifyLocalJwt(jwt: string, options?: JwtLocalParams): Promise<Session>; }