@pattern-js/mod-auth-magic-link
v0.2.2
Published
Email magic-link login for Pattern — the reference identity provider mod. One op, one route, one login method; tokens delivered via the identity.deliverToken hook (console fallback = zero-config dev login).
Readme
@pattern-js/mod-auth-magic-link
Passwordless email sign-in for Pattern — the reference login
method for @pattern-js/mod-identity, a provider plugged into the identity
kernel. Identity owns the kernel (single-use tokens, the /auth/token callback,
the signup policy, the login page); this mod owns just the flow of requesting a
link. Small enough to read in one sitting — it proves the login-method SPI.
npm install @pattern-js/mod-auth-magic-linkWhen to use
Reach for it whenever you want passwordless email sign-in and don't want to build
a provider yourself — or as the worked example to copy when writing your own
(OIDC, SMS…). The flow: POST /auth/magic-link/request issues a gated single-use
token, delivery sends the link, and identity's GET /auth/token?t=… verifies it
and mints a session. With no delivery subscriber the link prints to the server
console — the zero-config dev login.
Prerequisites
@pattern-js/mod-identity— the kernel this mod plugs into. It registers its login method inready(after the identity service exists), so its order inpattern.config.jsondoesn't matter.
Config
Defaults work from the bare config entry:
{ "mods": ["@pattern-js/mod-identity", "@pattern-js/mod-auth-magic-link"] }To customize the login-page label or match a non-default identity mount, export
a local wrapper mod:
// mods/magic-link.mjs
import { magicLinkMod } from "@pattern-js/mod-auth-magic-link";
export default magicLinkMod({
mount: "/auth", // must match the identity mod's mount
label: "Send me a sign-in link", // shown on the login page
});Full documentation: the Magic-link login chapter at /docs (served by
@pattern-js/mod-docs), or the source.
