2022-10-31 19:02:37 +01:00
|
|
|
import { useEffect } from 'react';
|
2023-01-31 06:44:07 +01:00
|
|
|
import { Loading } from 'react-basics';
|
2022-10-31 19:02:37 +01:00
|
|
|
import { useRouter } from 'next/router';
|
2022-12-29 00:43:22 +01:00
|
|
|
import { setClientAuthToken } from 'lib/client';
|
2023-04-05 08:29:54 +02:00
|
|
|
import useApi from '../hooks/useApi';
|
2022-10-31 19:02:37 +01:00
|
|
|
|
|
|
|
export default function SingleSignOnPage() {
|
2023-04-05 08:29:54 +02:00
|
|
|
const { post } = useApi();
|
2022-10-31 19:02:37 +01:00
|
|
|
const router = useRouter();
|
|
|
|
const { token, url } = router.query;
|
|
|
|
|
|
|
|
useEffect(() => {
|
2023-04-05 08:29:54 +02:00
|
|
|
const signOn = async token => {
|
|
|
|
setClientAuthToken(token);
|
|
|
|
|
|
|
|
const data = await post('/auth/sso');
|
|
|
|
|
|
|
|
setClientAuthToken(data.token);
|
|
|
|
|
|
|
|
await router.push(url);
|
|
|
|
};
|
|
|
|
|
2022-11-09 07:58:52 +01:00
|
|
|
if (url && token) {
|
2022-12-29 00:43:22 +01:00
|
|
|
setClientAuthToken(token);
|
2022-10-31 19:02:37 +01:00
|
|
|
|
2023-04-05 08:29:54 +02:00
|
|
|
signOn();
|
2022-10-31 19:02:37 +01:00
|
|
|
}
|
2023-04-05 08:29:54 +02:00
|
|
|
}, [url, token]);
|
2022-10-31 19:02:37 +01:00
|
|
|
|
2023-01-31 06:44:07 +01:00
|
|
|
return <Loading size="xl" />;
|
2022-10-31 19:02:37 +01:00
|
|
|
}
|