Documentation
SDK client
Déconnexion

Déconnexion

Terminer une session la ferme sur les serveurs Secrecy et efface les identifiants stockés dans le navigateur : les clés ne sont alors plus disponibles sur l'appareil.

Déconnecter l'utilisateur

La méthode secrecyClient.logout ferme la session courante lorsqu'elle est appelée sans argument. Elle efface également la session, les identités, les paires de clés et le JWT stockés, ainsi que les caches du client.

auth.ts
const logout = async (): Promise<boolean> => {
  // First we need to check if the secrecyClient is available
  if (!secrecyClient) {
    return false;
  }
 
  try {
    // Sans argument, la session courante est fermée
    await secrecyClient.logout();
 
    return true;
  } catch (error) {
    console.error(error);
    return false;
  }
};
⚠️

Après une déconnexion, le client n'est plus utilisable. Démarrez une nouvelle login pour obtenir à nouveau un client authentifié.

Fermer une autre session

Passer un identifiant de session ferme uniquement cette session et laisse les identifiants locaux intacts. C'est ainsi qu'un utilisateur révoque une session ouverte sur un autre appareil.

auth.ts
const closeSession = async (sessionId: string): Promise<boolean> => {
  // First we need to check if the secrecyClient is available
  if (!secrecyClient) {
    return false;
  }
 
  try {
    await secrecyClient.logout(sessionId);
 
    return true;
  } catch (error) {
    console.error(error);
    return false;
  }
};

Réagir à une session expirée

Lorsque le serveur renvoie une erreur UNAUTHORIZED ou FORBIDDEN, le client déconnecte l'utilisateur de lui-même et recharge la page. L'option onAccessDenied vous permet d'exécuter votre propre traitement à la place, par exemple une redirection vers votre écran de connexion. Voir la page erreurs pour la liste complète des codes d'erreur.