introduce a running login chain
This commit is contained in:
42
src/components/login.tsx
Normal file
42
src/components/login.tsx
Normal file
@@ -0,0 +1,42 @@
|
||||
import React, { useEffect } from 'react';
|
||||
import { Button } from 'primereact/button';
|
||||
import { Card } from 'primereact/card';
|
||||
import { Configuration } from './configuration';
|
||||
|
||||
export const Login: React.FC = () => {
|
||||
// reset every old token
|
||||
useEffect(() => sessionStorage.removeItem('token'), []);
|
||||
|
||||
const redirectToVatsim = () => {
|
||||
const url = [
|
||||
Configuration.vatsim.authorizeUrl,
|
||||
`?client_id=${Configuration.vatsim.clientId}`,
|
||||
`&redirect_uri=http://localhost:3000/auth/vatsim`,
|
||||
`&response_type=code`,
|
||||
`&scope=full_name+vatsim_details`,
|
||||
`&approval_prompt=auto`,
|
||||
].join('');
|
||||
window.location.replace(url);
|
||||
}
|
||||
|
||||
const footer = (
|
||||
<span>
|
||||
<Button
|
||||
label='Login with VATSIM SSO'
|
||||
className='p-button p-button-success'
|
||||
onClick={redirectToVatsim}
|
||||
/>
|
||||
</span>
|
||||
);
|
||||
|
||||
return (
|
||||
<>
|
||||
<Card
|
||||
title='Arrival MANager'
|
||||
className='login-card text-center surface-200'
|
||||
style={{ width: '25rem' }}
|
||||
footer={footer}>
|
||||
</Card>
|
||||
</>
|
||||
);
|
||||
};
|
||||
Reference in New Issue
Block a user