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

PackageCléContexte
Navigateur@mailmus/authPublishableSign-up/sign-in de vos utilisateurs finaux, exécuté dans leur navigateur
ServeurmailmusSecrèteAdministration (lister/bannir des utilisateurs, Organizations...), jamais côté client

SDK navigateur — sign-up et sign-in

npm install @mailmus/auth
import { 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 mailmus
import { SDK } from "mailmus";

const mailmus = new SDK({ bearer: process.env.MAILMUS_SECRET_KEY });

const { data } = await mailmus.endUsers.endUserAdminControllerList({ appId: "app_xxx" });

Suivant

On this page