Skip to content

Commit 9ffc661

Browse files
committed
chore: fix authorizer context
1 parent b5d2fe7 commit 9ffc661

File tree

1 file changed

+22
-13
lines changed

1 file changed

+22
-13
lines changed

src/contexts/AuthorizerContext.tsx

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {
33
createContext,
44
useReducer,
55
useContext,
6-
useRef,
6+
useMemo,
77
useEffect,
88
ReactNode,
99
} from 'react';
@@ -134,24 +134,33 @@ export const AuthorizerProvider: FC<{
134134

135135
let intervalRef: any = null;
136136

137-
const authorizerRef = useRef(
138-
new Authorizer({
139-
authorizerURL: state.config.authorizerURL,
140-
redirectURL: hasWindow()
141-
? state.config.redirectURL || window.location.origin
142-
: state.config.redirectURL || '/',
143-
clientID: state.config.client_id,
144-
})
137+
const redirectURLForSdk = hasWindow()
138+
? state.config.redirectURL || window.location.origin
139+
: state.config.redirectURL || '/';
140+
141+
const authorizer = useMemo(
142+
() =>
143+
new Authorizer({
144+
authorizerURL: state.config.authorizerURL,
145+
redirectURL: redirectURLForSdk,
146+
clientID: state.config.client_id,
147+
}),
148+
[
149+
state.config.authorizerURL,
150+
state.config.redirectURL,
151+
state.config.client_id,
152+
redirectURLForSdk,
153+
]
145154
);
146155

147156
const getToken = async () => {
148157
const { data: metaRes, errors: metaResErrors } =
149-
await authorizerRef.current.getMetaData();
158+
await authorizer.getMetaData();
150159
try {
151160
if (metaResErrors && metaResErrors.length) {
152161
throw new Error(metaResErrors[0].message);
153162
}
154-
const { data: res, errors } = await authorizerRef.current.getSession();
163+
const { data: res, errors } = await authorizer.getSession();
155164
if (errors && errors.length) {
156165
throw new Error(errors[0].message);
157166
}
@@ -285,7 +294,7 @@ export const AuthorizerProvider: FC<{
285294
loading: true,
286295
},
287296
});
288-
await authorizerRef.current.logout();
297+
await authorizer.logout();
289298
const loggedOutState = {
290299
user: null,
291300
token: null,
@@ -306,7 +315,7 @@ export const AuthorizerProvider: FC<{
306315
setLoading,
307316
setToken: handleTokenChange,
308317
setAuthData: setAuthData,
309-
authorizerRef: authorizerRef.current,
318+
authorizerRef: authorizer,
310319
logout,
311320
}}
312321
>

0 commit comments

Comments
 (0)