PetrusCustomConfig - AckeeCZ/petrus GitHub Wiki
• handlers: Object
| Name | Type |
|---|---|
authenticate? |
(credentails: void) => HandlerReturnValue<{ tokens: Tokens ; user?: any }> |
getAuthUser |
(tokens: Tokens) => any
|
refreshTokens |
(tokens: Required<Tokens>) => HandlerReturnValue<Tokens> |
• Optional initialState: Partial<PetrusEntitiesState>
Initial state of the entities reducer.
• Optional logger: PetrusLogger
default Console
• Optional mapStorageDriverToTokensPersistence: Partial<Record<TokensPersistence, StorageDriver>>
Set a custom storage driver for a given TokensPersistence.
• Optional oAuth: Object
| Name | Type |
|---|---|
enforceAccessTokenScheme? |
(searchParams: Record<string, any>) => HandlerReturnValue<{ expiration?: null | string ; token: string }> |
enforceRefreshTokenScheme? |
(searchParams: Record<string, any>) => HandlerReturnValue<undefined | { token: string }> |
fetchAccessToken? |
(searchParams: Record<string, any>) => HandlerReturnValue<{ accessToken: string ; expiresIn?: string | number ; refreshToken?: string }> | () => void
|
origin |
string |
parseRedirectUrlParams? |
(location: Location) => HandlerReturnValue<Record<string, any>> |
processTokens? |
(accessToken: { expiration?: null | string ; token: string }, refreshToken: undefined | { token: string }) => HandlerReturnValue<null | Tokens> |
redirectPathname |
string |
validateRedirectUrl? |
(oAuth: { enabled: boolean ; fetchAccessToken: (searchParams: Record<string, any>) => HandlerReturnValue<{ accessToken: string ; expiresIn?: string | number ; refreshToken?: string }> | () => void ; origin: string ; redirectPathname: string ; enforceAccessTokenScheme: (searchParams: Record<string, any>) => HandlerReturnValue<{ expiration?: null | string ; token: string }> ; enforceRefreshTokenScheme: (searchParams: Record<string, any>) => HandlerReturnValue<undefined | { token: string }> ; parseRedirectUrlParams: (location: Location) => HandlerReturnValue<Record<string, any>> ; processTokens: (accessToken: { expiration?: null | string ; token: string }, refreshToken: undefined | { token: string }) => HandlerReturnValue<null | Tokens> ; validateRedirectUrl: (oAuth: { enabled: boolean; origin: string; redirectPathname: string; validateRedirectUrl: (oAuth: ..., location: Location) => boolean; parseRedirectUrlParams: (location: Location) => HandlerReturnValue<...>; fetchAccessToken: ((searchParams: Record<...>) => HandlerReturnValue<...>) | (() => void); enforceAccessTokenScheme:..., location: Location) => boolean }, location: Location) => boolean
|
• selector: (state: any) => CombinedState<Object>
▸ (state): CombinedState<Object>
This function must return petrus reducer from your application root state, so you can set it on nested level or on different path.
default (state) => state.auth
| Name | Type |
|---|---|
state |
any |
CombinedState<Object>
• Optional tokens: Partial<{ applyAccessTokenExternally: boolean ; autoStartTokensRetrieval: boolean ; checkTokenExpirationOnTabFocus: boolean ; minRequiredExpiration: number ; requestDurationEstimate: number }>