Ver Fonte

check if the login was automatically triggered

Sven Czarnian há 1 ano atrás
pai
commit
03919f7b97
1 ficheiros alterados com 14 adições e 3 exclusões
  1. 14 3
      src/components/auth.tsx

+ 14 - 3
src/components/auth.tsx

@@ -1,15 +1,26 @@
-import React from 'react';
-import { useSearchParams } from 'react-router-dom';
+import React, { useContext } from 'react';
+import { useNavigate, useSearchParams } from 'react-router-dom';
+import { AuthContext } from '../contexts';
 import { Session } from '../services';
 
 export const Auth: React.FC = () => {
+  const { reloadAuth } = useContext(AuthContext);
   const [searchParams] = useSearchParams();
   const token = searchParams.get('token');
+  const navigate = useNavigate();
 
   const baseUrl = `${window.location.protocol}//${window.location.host}`
   if (token) {
     Session.setBearerToken(token);
-    window.location.replace(`${baseUrl}/overview`);
+
+    const lastRoute = Session.lastShownComponent();
+    if (lastRoute !== null) {
+      reloadAuth();
+      Session.resetLastShownComponent();
+      navigate(lastRoute);
+    } else {
+      window.location.replace(`${baseUrl}/overview`);
+    }
   } else {
     Session.resetLastShownComponent();
     Session.resetBearerToken();