UNPKG

bento-auth-js

Version:

Authentication library for web applications of Bento-Platform

91 lines (90 loc) 2.82 kB
import { JWTPayload } from "jose"; import { Resource } from "../resources"; type TokenHandoffParams = { code: string; clientId: string; authCallbackUrl: string; verifier: string; }; type TokenHandoffPayload = { access_token: string; expires_in: number; id_token: string; refresh_token: string; error?: { error?: string; error_description?: string; }; }; export declare const tokenHandoff: import("@reduxjs/toolkit").AsyncThunk<TokenHandoffPayload, TokenHandoffParams, { state?: unknown; dispatch?: import("redux").Dispatch; extra?: unknown; rejectValue?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; type RefreshTokenPayload = { access_token: string; expires_in: number; id_token: string; refresh_token: string; }; export declare const refreshTokens: import("@reduxjs/toolkit").AsyncThunk<RefreshTokenPayload, string, { state?: unknown; dispatch?: import("redux").Dispatch; extra?: unknown; rejectValue?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const setIsAutoAuthenticating: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>; type FetchPermissionsPayload = { result: string[][]; }; type FetchPermissionsParams = { resources: Resource[]; authzUrl: string; }; export declare const fetchResourcesPermissions: import("@reduxjs/toolkit").AsyncThunk<FetchPermissionsPayload, FetchPermissionsParams, { state?: unknown; dispatch?: import("redux").Dispatch; extra?: unknown; rejectValue?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export type AuthSliceState = { loading: boolean; hasAttempted: boolean; isHandingOffCodeForToken: boolean; handoffError: string; isRefreshingTokens: boolean; tokensRefreshError: string; isAutoAuthenticating: boolean; resourcePermissions: { [name: string]: { isFetching: boolean; hasAttempted: boolean; error: string; permissions: string[]; }; }; sessionExpiry?: number; idToken?: string; idTokenContents?: JWTPayload; accessToken?: string; refreshToken?: string; }; export declare const authSlice: import("@reduxjs/toolkit").Slice<AuthSliceState, { signOut: (state: import("immer/dist/internal").WritableDraft<AuthSliceState>) => void; }, "auth">; export declare const signOut: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"auth/signOut">; declare const _default: import("redux").Reducer<AuthSliceState>; export default _default;