Documentation
SDK client
Connexion par redirection

Connexion par redirection

La fonction login envoie l'utilisateur vers la page d'authentification Secrecy. Cette page couvre le flux de redirection et les options qui contrôlent ce qui est retourné.

Se connecter avec une redirection

Avec redirect: true, le navigateur est redirigé vers la page d'authentification Secrecy. La promesse ne renvoie jamais de client lors de ce premier appel, car la page est quittée avant. Utilisez path et backPath pour que l'utilisateur revienne là où il était.

auth.ts
const loginWithRedirect = async (): Promise<SecrecyClient | null> => {
  try {
    // La page est quittée, ceci renvoie null
    return await login({
      appId: '<YOUR_APP_ID>',
      redirect: true,
      // Où l'utilisateur est renvoyé après la connexion
      path: window.location.pathname,
      backPath: document.referrer,
    });
  } catch (error) {
    console.error(error);
    return null;
  }
};

Demander l'email de l'utilisateur

L'option scopes déclare ce que votre application demande. Utilisez { email: true } pour obtenir l'email de l'utilisateur avec la session.

Forcer la connexion d'un utilisateur donné

L'option context indique à Secrecy quel utilisateur ou quelle organisation est attendu. Si un client est déjà stocké pour un utilisateur différent, il est écarté et une nouvelle connexion démarre. Utilisez forceLogin pour toujours démarrer une nouvelle connexion, quel que soit le client stocké.

auth.ts
const loginAs = async (userId: string): Promise<SecrecyClient | null> => {
  try {
    return await login({
      appId: '<YOUR_APP_ID>',
      redirect: true,
      // Une différence avec le client stocké force une nouvelle connexion
      context: { userId },
      // Toujours démarrer une nouvelle connexion, même si un client est stocké
      forceLogin: false,
    });
  } catch (error) {
    console.error(error);
    return null;
  }
};