Passer au contenu principal
useCurrentScreen()
Hook React qui récupère le contexte et l’état de l’écran actuel.Ce hook donne accès à la configuration de l’application, aux détails de l’organisation, à l’identification de l’écran, aux paramètres du locataire, à l’état de la transaction et aux paramètres d’autorisation pour créer une interface d’authentification personnalisée.

Valeur de retour

Retourne l’objet CurrentScreenOptions avec les propriétés suivantes, ou null s’il n’est pas disponible :
  • client - Identifiant de l’application et métadonnées
  • organization - ID de l’organisation et métadonnées (pour les organisations Auth0)
  • prompt - Nom de l’invite actuelle (p. ex., “login”, “consent”, “mfa”)
  • screen - Nom de l’écran actuel (p. ex., “login-id”, “login-password”, “mfa-otp-challenge”)
  • tenant - Configuration du locataire, y compris les langues activées
  • transaction - État de la transaction, tableau des erreurs et langue actuelle
  • untrustedData - Paramètres d’autorisation provenant de l’application (à valider avant utilisation)

Points clés

  • Utilisez screen.name pour le rendu conditionnel des écrans d’authentification
  • Utilisez toujours le chaînage optionnel (?.), car les propriétés imbriquées peuvent être null
  • Vérifiez transaction.errors pour afficher les erreurs de validation
  • Accédez à organization.metadata pour l’image de marque propre à l’organisation

Retour

CurrentScreenOptions | nullDonnées de contexte de l’écran actuel, ou null si elles ne sont pas disponibles
Routage de base des écrans
import { useCurrentScreen } from '@auth0/auth0-acul-react';

const AuthFlow = () => {
  const screenOptions = useCurrentScreen();
  const screen = screenOptions?.screen?.name || "login-id";

  switch (screen) {
    case "login-id":
      return <LoginIdScreen />;
    case "login-password":
      return <LoginPasswordScreen />;
    case "mfa-otp-challenge":
      return <MfaOtpChallengeScreen />;
    default:
      return null;
  }
};
Accès à plusieurs propriétés
import { useCurrentScreen } from '@auth0/auth0-acul-react';

const CustomAuthScreen = () => {
  const screenOptions = useCurrentScreen();
  const organizationId = screenOptions?.organization?.id;
  const errors = screenOptions?.transaction?.errors || [];
  const locale = screenOptions?.transaction?.locale || 'en';

  return (
    <div>
      {organizationId && <p>Organisation : {organizationId}</p>}
      {errors.map((error, i) => (
        <p key={i} className="error">{error.message}</p>
      ))}
      <p>Langue : {locale}</p>
    </div>
  );
};