Guide

User Accounts user guide

Build and maintain the public account experience with Gutenberg blocks.

Page tree

On activation, Page_Provisioner creates (when missing):

PathRole
/my-account/Login / entry
/my-account/verify/Magic-link verification
/my-account/complete-profile/Onboarding after first sign-in
/my-account/profile/Dashboard / profile

Place a User Accounts Controller (prc-user-accounts/controller) on these pages and compose allowed inner blocks (forms, profile, provider buttons, core layout blocks).

Sign-in flow

  1. Readers sign in with email magic links or federated providers (Google, Apple, Microsoft, GitHub) via Sign In Providers.

  2. Verify

    Magic-link users land on /my-account/verify/.

  3. Complete profile when needed

    New accounts finish first name / last name (and optional fields) on /my-account/complete-profile/.

  4. Use gated content and lists

    Authenticated readers can open gated content, saved articles, listening history, and dataset history blocks.

There is no password-based server registration endpoint. Authentication is Firebase client-side.

Important blocks

BlockNameRole
User Accounts Controllerprc-user-accounts/controllerContext + interactivity shell
Content Gateprc-user-accounts/content-gateShow content only when authenticated
Profile Viewprc-user-accounts/profileProfile / account UI
Sign In Providersprc-user-accounts/provider-buttonsFederated provider buttons
Saved Article Action / Listprc-user-accounts/saved-article-action, saved-articles-listSave and list articles
Listening History Listprc-user-accounts/listening-history-listSpoken-article listening history
User Datasets / Quiz Groupsprc-user-accounts/user-datasets, user-quiz-groupsDownload and quiz history
Private Filesprc-user-accounts/private-filesGrid or list of DRM-protected downloads
Delete User / Data Downloadprc-user-accounts/delete-user, user-data-downloadAccount deletion and export
User State / State Checkprc-user-accounts/user-state, user-state-checkAuth-state composition

Content gating

Wrap premium or members-only sections in Content Gate. Unauthenticated readers see the placeholder inner content. VIP cache personalization varies responses by auth group.

Private Files

Insert Private Files inside a Content Gate. The inspector drop zone attaches media (zip, PDF, images, and other downloadables) and marks each file DRM protected. The published block shows a grid or list. A signed-in reader clicks an item; the grant checks identity, logs the download on the host post and on the user record, then starts the file.

The block inspector Download stats panel shows all-time totals, per-file counts, and a month/day heatmap for that block. Two Private Files blocks on one post have separate counts. The same file listed on two blocks has two counters. Two copies of the same synced pattern on one post share one heatmap.

When the block has two or more files, a search field and a Download a zip of all these files control appear. Search hides rows in that instance only. The zip still includes every file in the block, including rows hidden by search. A successful zip counts each unique file on that block. If any file cannot be granted, the zip is refused and the notice names each blocked file. Each row has a star that saves the file to the reader's account (starredFiles). Stars are not a download grant.

Was this helpful?