import React, { useState, useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import './authselection.css'; const AuthSelection: React.FC = () => { const [simpleLoginData, setSimpleLoginData] = useState({ username: '', password: '' }); const [authData, setAuthData] = useState(null); // Stocke les données d'auth const navigate = useNavigate(); // Récupérer les données d'authentification depuis l'API useEffect(() => { const fetchAuthData = async () => { try { const response = await fetch('http://localhost:3000/api/auth/getActiveAuth'); const data = await response.json(); console.log('Auth Data:', data); // Affichage dans la console setAuthData(data.authActive); // Stocke les données dans l'état } catch (error) { console.error('Erreur lors de la récupération des données d\'auth:', error); } }; fetchAuthData(); // Appel de la fonction pour récupérer les données }, []); const handleSimpleLoginChange = (e: React.ChangeEvent) => { const { name, value } = e.target; setSimpleLoginData((prev) => ({ ...prev, [name]: value })); }; const handleSimpleLoginSubmit = (e: React.FormEvent) => { e.preventDefault(); // Logique d'authentification pour Simple Login console.log('Simple Login Data:', simpleLoginData); }; const handleAuthLogin = (provider: string) => { window.location.href = 'http://localhost:3000/api/auth/' + provider; }; return (

Connexion

{/* Formulaire de connexion simple */}
{/* Conteneur OAuth */}

Se connecter avec OAuth

{authData && Object.keys(authData).map((providerKey) => { const provider = authData[providerKey]; if (provider.type === 'oauth') { return ( ); } return null; })}
{/* Conteneur OIDC */}

Se connecter avec OIDC

{authData && Object.keys(authData).map((providerKey) => { const provider = authData[providerKey]; if (provider.type === 'oidc') { return ( ); } return null; })}
); }; export default AuthSelection;