State token fix

This commit is contained in:
Valentino Kozinec 2022-01-19 09:22:52 +01:00
parent 1de2c8ee48
commit 3eaf001df7
5 changed files with 29 additions and 33 deletions

View file

@ -4,6 +4,7 @@ import clsx from 'clsx';
import { LockClosedIcon } from '@heroicons/react/solid';
import { performApiCall } from 'src/services/api';
import { showToast, ToastType } from 'src/common/util/show-toast';
type LoginProps = RouteComponentProps;
@ -20,27 +21,10 @@ export function Login(_: LoginProps) {
window.location.href = data.authorizationUrl;
}
} catch (e: any) {
// continue
showToast('Something went wrong', ToastType.Error);
}
// @ts-ignore
// if (res.ok) {
// showToast('Logged in!');
// } else {
// showToast('Username or password incorrect', ToastType.Error);
// }
};
// useEffect(() => {
// if (isValid(auth)) {
// navigate('/dashboard');
// }
// }, [auth]);
// if (isValid(auth)) {
// return null;
// }
return (
<div className="min-h-screen flex items-center justify-center bg-gray-50 py-12 px-4 sm:px-6 lg:px-8">
<div className="max-w-md w-full space-y-8">

View file

@ -1,5 +1,5 @@
import React, { useEffect } from 'react';
import { RouteComponentProps } from '@reach/router';
import { navigate, RouteComponentProps } from '@reach/router';
import { useAuth } from 'src/services/auth';
import { showToast, ToastType } from 'src/common/util/show-toast';
@ -7,19 +7,25 @@ type LoginCallbackProps = RouteComponentProps;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
export function LoginCallback(_: LoginCallbackProps) {
const currentURL = window.location.href;
const urlParams = new URLSearchParams(currentURL);
const state = urlParams.get('state');
const { logIn } = useAuth();
useEffect(() => {
const res = logIn();
if (state) {
const res = logIn(state);
// @ts-ignore
if (res.ok) {
showToast('Logged in');
} else {
showToast('Something went wrong', ToastType.Error);
// navigate('/login');
// @ts-ignore
if (res.ok) {
showToast('Logged in');
} else {
showToast('Something went wrong', ToastType.Error);
navigate('/login');
}
}
}, [logIn]);
}, [logIn, state]);
return (
<div className="min-h-screen flex items-center justify-center bg-gray-50 py-12 px-4 sm:px-6 lg:px-8">