UNPKG

teko-oauth2

Version:

Teko Identity OAuth 2 Javascript Library for Web App Client

76 lines (67 loc) 1.83 kB
declare module 'teko-oauth2' { export interface InitOptions { clientId: string oauthDomain?: string redirectUri?: string postLogoutRedirectUri?: string scopes?: string[] monitorSession?: boolean silent?: boolean checkTokenRevoked?: boolean bffDomain?: string } export interface IUser { accessToken: string expiresAt: number expiresIn: number idToken: string profile: IUserInfo scopes: string[] sessionState: string tokenType: string } export interface IUserInfo { sub: string name: string picture: string updated_at: string email: string phone_number: string birthday: string address: string tenant_id: string } export interface CheckUserHasRolesAndPerms { hasPermissions: boolean hasRoles: boolean } export interface IUserDetailsInfo extends IUserInfo { roles: string[] permissions: string[] meta_data: any } export interface IUserManager { isLoggedIn: () => boolean login: (redirectUri?: string, additionalParams?: any) => void loginSilent: () => Promise<IUser> renewTokenUsingRefreshToken: () => Promise<IUser> logout: (redirectUri?: string, additionalParams?: any) => void loadUser: () => IUser | undefined unloadUser: () => void events: any getUserInfo: () => IUserInfo getFullUserInfo: (adminDomain?: string) => Promise<IUserDetailsInfo> getUserScopes: () => string[] getAccessToken: () => string getAccessTokenExpiredAt: () => number hasRoles: () => CheckUserHasRolesAndPerms hasRole:() => CheckUserHasRolesAndPerms hasPermission:() => CheckUserHasRolesAndPerms } const TekoID: { user: IUserManager version: string init: (options: InitOptions) => Promise<void> } export default TekoID }