icns-frontend/pages/verification/index.tsx

33 lines
736 B
TypeScript
Raw Normal View History

2022-12-01 08:33:51 +00:00
import { useEffect, useState } from "react";
interface AccessTokenResponse {
access_token: string;
}
export default function VerificationPage() {
const [accessToken, setAccessToken] = useState<string>();
const fetchAccessToken = async (state: string, code: string) => {
const response: AccessTokenResponse = await (
await fetch(`/api/auth/access-token?state=${state}&code=${code}`)
).json();
setAccessToken(response.access_token);
};
useEffect(() => {
const [, state, code] =
window.location.search.match(
/^(?=.*state=([^&]+)|)(?=.*code=([^&]+)|).+$/,
) || [];
fetchAccessToken(state, code);
}, []);
return (
<div>
<div>{accessToken}</div>
</div>
);
}