check if the login was automatically triggered

This commit is contained in:
Sven Czarnian
2022-11-05 02:28:04 +01:00
parent 67f56c823e
commit 03919f7b97

View File

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