Auth
Ajouter l'authentification en 5 minutes
Quickstart — SDK navigateur (clé publishable) et SDK serveur (clé secrète).
Auth suit le même modèle que Clerk/Auth0 : deux SDK séparés, un par contexte d'exécution.
| Package | Clé | Contexte | |
|---|---|---|---|
| Navigateur | @mailmus/auth | Publishable | Sign-up/sign-in de vos utilisateurs finaux, exécuté dans leur navigateur |
| Serveur | mailmus | Secrète | Administration (lister/bannir des utilisateurs, Organizations...), jamais côté client |
SDK navigateur — sign-up et sign-in
npm install @mailmus/authimport { MailmusAuthClient, isMfaChallenge } from "@mailmus/auth";
const auth = new MailmusAuthClient({
appId: "app_xxx",
publishableKey: "pk_xxx",
// Pas de valeur par défaut prod dans ce SDK — à renseigner explicitement.
serverURL: "https://api.mailmus.app",
hostedPagesURL: "https://www.mailmus.app",
});
const result = await auth.signIn({ email: "user@example.com", password: "hunter2" });
if (isMfaChallenge(result)) {
// L'utilisateur a activé la double authentification (TOTP).
const { endUser } = await auth.mfa.verify({ challengeToken: result.challengeToken, code: "123456" });
} else {
console.log(result.endUser);
}auth.session.getState() renvoie l'état de session courant (signed-out / signed-in), et auth.session.subscribe(listener) permet de réagir aux changements — utile pour piloter votre UI (ex: un hook React).
OAuth (Google, GitHub, Apple)
await auth.oauth.redirect({
provider: "google",
redirectUri: "https://votreapp.com/callback",
});Le SDK ne parle jamais directement à Google/GitHub/Apple — tout est médié par les pages hébergées Mailmus. redirectUri doit figurer dans l'allowlist de redirection de votre App (App → Auth Settings).
SDK serveur — administration
npm install mailmusimport { SDK } from "mailmus";
const mailmus = new SDK({ bearer: process.env.MAILMUS_SECRET_KEY });
const { data } = await mailmus.endUsers.endUserAdminControllerList({ appId: "app_xxx" });Suivant
- Référence API — MFA, sessions, Organizations B2B, SSO/SAML, tous les endpoints admin.
- Référence SDK navigateur — liste complète des méthodes
@mailmus/auth.