From bc9eec9972ab6e00dc2acdbfaa5ae3da583af335 Mon Sep 17 00:00:00 2001 From: ecumene Date: Tue, 10 Dec 2024 13:54:59 -0330 Subject: [PATCH] Pass onRefreshFailure, onRefresh to the client from provider Signed-off-by: Mitchell Hynes --- src/provider.tsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/provider.tsx b/src/provider.tsx index 341c428..66cf5c1 100644 --- a/src/provider.tsx +++ b/src/provider.tsx @@ -25,14 +25,17 @@ export function AuthKitProvider(props: AuthKitProviderProps) { port, redirectUri, children, + onRefresh, + onRefreshFailure, onRedirectCallback, refreshBufferInterval, } = props; const [client, setClient] = React.useState(NOOP_CLIENT); const [state, setState] = React.useState(initialState); - const onRefresh = React.useCallback( - ({ user, accessToken, organizationId }: AuthenticationResponse) => { + const handleRefresh = React.useCallback( + (response: AuthenticationResponse) => { + const { user, accessToken, organizationId } = response; const { role = null, permissions = [] } = getClaims(accessToken); setState((prev) => { const next = { @@ -44,6 +47,7 @@ export function AuthKitProvider(props: AuthKitProviderProps) { }; return isEquivalentWorkOSSession(prev, next) ? prev : next; }); + onRefresh?.(response); }, [client], ); @@ -58,7 +62,8 @@ export function AuthKitProvider(props: AuthKitProviderProps) { redirectUri, devMode, onRedirectCallback, - onRefresh, + onRefresh: handleRefresh, + onRefreshFailure, refreshBufferInterval, }).then(async (client) => { const user = client.getUser();