mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 13:32:00 +00:00
chore: refresh user session when user first enter the web
This commit is contained in:
@@ -29,8 +29,8 @@ const RequireAuth = ({ children }: RequireAuthProps) => {
|
||||
>('/sso/userinfo', httpClientFetcher, {
|
||||
shouldRetryOnError: false,
|
||||
|
||||
// refresh every 13 minutes
|
||||
refreshInterval: 13 * 60 * 1000,
|
||||
// refresh every 12 minutes
|
||||
refreshInterval: 12 * 60 * 1000,
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
@@ -61,12 +61,20 @@ const RequireAuth = ({ children }: RequireAuthProps) => {
|
||||
async () => {
|
||||
await AuthApi.refresh();
|
||||
},
|
||||
13 * 60 * 1000
|
||||
12 * 60 * 1000
|
||||
);
|
||||
|
||||
return () => clearInterval(interval);
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
const refreshUserSession = async () => {
|
||||
await AuthApi.refresh();
|
||||
};
|
||||
|
||||
refreshUserSession();
|
||||
}, []);
|
||||
|
||||
if (
|
||||
(isLoadingUserResponse && !userResponse && !userErrorResponse) ||
|
||||
(!userResponse && !userErrorResponse)
|
||||
@@ -78,7 +86,7 @@ const RequireAuth = ({ children }: RequireAuthProps) => {
|
||||
);
|
||||
}
|
||||
|
||||
if (userErrorResponse) {
|
||||
if (!isLoadingUserResponse && userErrorResponse) {
|
||||
return (
|
||||
<div className='w-full h-screen flex flex-col justify-center items-center gap-4'>
|
||||
<h2 className='text-2xl font-bold text-error'>Authentication Failed</h2>
|
||||
@@ -86,10 +94,7 @@ const RequireAuth = ({ children }: RequireAuthProps) => {
|
||||
Please try refreshing the page or contact support if the problem
|
||||
persists.
|
||||
</p>
|
||||
<button
|
||||
className='btn btn-primary'
|
||||
onClick={() => window.location.reload()}
|
||||
>
|
||||
<button className='btn btn-primary' onClick={() => redirectToSSO()}>
|
||||
Retry
|
||||
</button>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user