page.tsx78 lines · main
| 1 | import { DocsShell } from '../../../components/shell'; |
| 2 | |
| 3 | export const metadata = { title: 'auth · SuperTokens parity walk' }; |
| 4 | |
| 5 | type Row = { area: string; status: 'Y' | 'P' | 'N' | 'N/A'; note: string }; |
| 6 | |
| 7 | const ROWS: Row[] = [ |
| 8 | { area: 'Email password', status: 'Y', note: 'FDI signin/signup' }, |
| 9 | { area: 'Passwordless email OTP / magic link', status: 'Y', note: 'Phase 3 live' }, |
| 10 | { area: 'Passwordless SMS', status: 'P', note: 'UI ready; Twilio human prove' }, |
| 11 | { area: 'Third-party social', status: 'Y', note: 'Full catalog when secrets set' }, |
| 12 | { area: 'WebAuthn / passkeys', status: 'Y', note: 'Phase 5' }, |
| 13 | { area: 'TOTP MFA', status: 'Y', note: 'Phase 5' }, |
| 14 | { area: 'Session recipe', status: 'Y', note: 'Doltgres sessions' }, |
| 15 | { area: 'User roles', status: 'Y', note: 'Phase 6' }, |
| 16 | { area: 'Multitenancy (project→tenant)', status: 'Y', note: 'Path A map' }, |
| 17 | { area: 'Enterprise SAML SSO (SP)', status: 'Y', note: 'briven-engine native' }, |
| 18 | { area: 'Enterprise OIDC SSO (SP)', status: 'Y', note: 'briven-engine native' }, |
| 19 | { area: 'OAuth2/OIDC provider (IdP)', status: 'Y', note: 'authorize/token/userinfo/… + live proof script' }, |
| 20 | { area: 'M2M client credentials', status: 'Y', note: 'Keys → machine clients' }, |
| 21 | { area: 'User migration / import', status: 'Y', note: 'plaintext + bcrypt/argon2 hash import' }, |
| 22 | { area: 'Dashboard (operator)', status: 'Y', note: 'yellow Auth tabs' }, |
| 23 | { area: 'Security audit trail', status: 'Y', note: 'Security diary' }, |
| 24 | { area: 'Captcha', status: 'P', note: 'Turnstile when configured' }, |
| 25 | { area: 'Branding', status: 'Y', note: 'logo/color/sender/footer + email HTML' }, |
| 26 | { area: 'AI authentication', status: 'Y', note: 'AI agent tokens brai_…' }, |
| 27 | { area: 'Framework integration pack', status: 'Y', note: 'docs/auth/frameworks' }, |
| 28 | { area: 'SuperTokens Core Docker', status: 'N/A', note: 'Doltgres path; Core removed' }, |
| 29 | { area: 'Full 492-URL line-by-line', status: 'P', note: 'covered by this parity matrix + plan; open rows above' }, |
| 30 | { area: 'Claim 100% ST surface', status: 'P', note: 'SMS live prove still open' }, |
| 31 | ]; |
| 32 | |
| 33 | export default function AuthParityPage() { |
| 34 | return ( |
| 35 | <DocsShell> |
| 36 | <h1 className="font-mono text-2xl tracking-tight">SuperTokens parity walk</h1> |
| 37 | <p className="mt-2 font-mono text-sm text-[var(--color-text-muted)]"> |
| 38 | SuperTokens docs are a <strong className="text-[var(--color-text)]">checklist</strong>, not |
| 39 | a dependency. Status: <strong className="text-[var(--color-text)]">Y</strong> done ·{' '} |
| 40 | <strong className="text-[var(--color-text)]">P</strong> partial ·{' '} |
| 41 | <strong className="text-[var(--color-text)]">N</strong> not yet ·{' '} |
| 42 | <strong className="text-[var(--color-text)]">N/A</strong> won't do. |
| 43 | </p> |
| 44 | |
| 45 | <div className="mt-8 overflow-x-auto"> |
| 46 | <table className="w-full min-w-[32rem] border-collapse font-mono text-xs"> |
| 47 | <thead> |
| 48 | <tr className="border-b border-[var(--color-border-subtle)] text-left text-[var(--color-text-muted)]"> |
| 49 | <th className="py-2 pr-3 font-medium">Area</th> |
| 50 | <th className="py-2 pr-3 font-medium">Status</th> |
| 51 | <th className="py-2 font-medium">Notes</th> |
| 52 | </tr> |
| 53 | </thead> |
| 54 | <tbody> |
| 55 | {ROWS.map((r) => ( |
| 56 | <tr |
| 57 | key={r.area} |
| 58 | className="border-b border-[var(--color-border-subtle)] text-[var(--color-text)]" |
| 59 | > |
| 60 | <td className="py-2 pr-3 align-top">{r.area}</td> |
| 61 | <td className="py-2 pr-3 align-top font-semibold">{r.status}</td> |
| 62 | <td className="py-2 align-top text-[var(--color-text-muted)]">{r.note}</td> |
| 63 | </tr> |
| 64 | ))} |
| 65 | </tbody> |
| 66 | </table> |
| 67 | </div> |
| 68 | |
| 69 | <p className="mt-8 font-mono text-xs text-[var(--color-text-muted)]"> |
| 70 | Related:{' '} |
| 71 | <a className="underline" href="/auth/frameworks"> |
| 72 | framework packs |
| 73 | </a>{' '} |
| 74 | · IdP proof script <code className="text-[var(--color-text)]">scripts/idp-live-proof.ts</code> |
| 75 | </p> |
| 76 | </DocsShell> |
| 77 | ); |
| 78 | } |