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.
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é.
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;
}
};