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.
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.
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.