Skip to content

Add custom MFA factor docs and announcement blog - #3159

Open
atharvadeosthale wants to merge 1 commit into
mainfrom
atharva/custom-mfa-factor-docs
Open

Add custom MFA factor docs and announcement blog#3159
atharvadeosthale wants to merge 1 commit into
mainfrom
atharva/custom-mfa-factor-docs

Conversation

@atharvadeosthale

Copy link
Copy Markdown
Member

What does this PR do?

Documents the new custom MFA challenge factor, and adds the announcement blog post for it.

The custom factor lets a developer deliver a second factor through any channel. Appwrite generates and verifies the code. A new server-only method, users.getMFAChallenge, hands the code to a function or backend, which sends it through WhatsApp, a voice call, an internal system, or any other provider.

Docs

  • New page: /docs/products/auth/custom-mfa. Covers the flow end to end: create the challenge, call your function, read the code with a Server SDK, deliver it, complete the challenge. Includes the security requirements.
  • Sidebar entry under Auth, after Multi-factor authentication.
  • Three edits to /docs/products/auth/mfa: the intro names the custom factor and links out, and the Create challenge step gains a Custom tab.

Blog

  • New post: /blog/post/custom-mfa-factor. Announcement and tutorial in one.

Test plan

The flow was exercised end to end against a development instance before the pages were written. Verified in four combinations: a Node function and a Rust function, each driven from a vanilla web client and a React client.

Each run checked that:

  • the create response carries no code
  • a client session reading the challenge gets 401
  • a server key reads the code
  • the code reaches the delivery channel out of band
  • a wrong OTP gets 401
  • the session factors array gains custom
  • a consumed challenge cannot be reused
  • a challenge belonging to another user gets 401
  • a non-custom challenge cannot be read through the new method

Every SDK snippet on both pages comes from generated SDK examples or from verified method signatures, not from hand-writing.

Both pages render locally.

Notes for the reviewer

  • The blog cover does not exist yet. cover: points at /images/blog/custom-mfa-factor/cover.avif and needs the real asset before merge.
  • The API reference for users.getMFAChallenge appears once the specs package is republished and the pin in package.json is bumped. Nothing in this PR depends on that.
  • The Kotlin server SDK does not generate an example for this method, so the server code block covers Node, Python, PHP, Ruby, Rust, Dart, C#, and Swift.

Add a Custom MFA factor page under Auth, covering the full flow: create
a challenge with the custom factor, read the code with a Server SDK,
deliver it from a function, and complete the challenge.

Add the announcement and tutorial blog post for the same feature.

Link the new page from the MFA page intro and from a Custom tab in the
Create challenge step, and add the sidebar entry.

The blog cover is not created yet and points at a placeholder path.
@appwrite

appwrite Bot commented Aug 10, 2026

Copy link
Copy Markdown

Appwrite Website

Project ID: 69d7efb00023389e8d27

Sites (1)
Site Status Logs Preview QR
website
69d7f2670014e24571ca
Ready Ready View Logs Preview URL QR Code

Website (appwrite/website)

Project ID: 684969cb000a2f6c0a02

Sites (1)
Site Status Logs Preview QR
website
68496a17000f03d62013
Building Building View Logs Preview URL QR Code


Tip

Git integration provides automatic deployments with optional PR comments

@greptile-apps

greptile-apps Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR documents the new custom MFA challenge factor and adds an announcement/tutorial blog post.

  • Adds an end-to-end custom MFA guide with client and server examples and security requirements.
  • Adds custom-factor guidance to the existing MFA page and links the new page in the Auth sidebar.
  • Adds an announcement post covering setup, delivery, and challenge completion.

Confidence Score: 5/5

The documentation changes appear safe to merge once the explicitly pending blog cover asset is supplied.

No concrete unacknowledged build, rendering, navigation, security, or documentation defect remains supported by the available repository evidence.

Important Files Changed

Filename Overview
src/routes/blog/post/custom-mfa-factor/+page.markdoc Adds the custom MFA announcement and tutorial; the intentionally pending cover asset is already called out in the PR notes.
src/routes/docs/products/auth/+layout.svelte Adds a valid sidebar entry for the new custom MFA documentation page.
src/routes/docs/products/auth/custom-mfa/+page.markdoc Adds the end-to-end custom MFA guide, SDK examples, delivery function examples, and security guidance.
src/routes/docs/products/auth/mfa/+page.markdoc Links to the dedicated guide and adds a correctly nested Custom challenge tab.

Reviews (1): Last reviewed commit: "feat(docs): add custom MFA factor docs a..." | Re-trigger Greptile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant