Purpose
The Auth module manages Firebase Authentication users. It supports user listing, search, sorting, filtering, editing, bulk actions, import/export, transfers, JS scripting, provider visibility, custom claims, and Auth-to-Firestore linking.
User List and Search
The table/grid supports:
- paginated or streaming user list loading
- sorting by email, phone, UID, created time, and last login
- direct search by UID, email, and phone number
- local filtering by display name, claim value, provider, email verified, disabled/enabled status, creation range, and last sign-in range
- combined filters
- saved search presets
- real-time result updates
Output Modes
TABLE: user grid and primary admin workflowTREE: structured user/provider/claim viewJSON: raw user payload viewLOGS: Auth API, app, script, warning, and error logs
User Editing
Editable or visible fields:
- UID
- created timestamp, read-only
- last login timestamp, read-only
- password update flow
- hashed password import/update path where supported
- phone number
- display name
- photo URL
- disabled state
- email verified state
- custom claims/tokens
- provider linkage visibility
- linked provider list
User actions:
- create user, including custom UID
- edit attributes
- delete user
- disable or enable user
- mark or unmark email verified
- bulk disable
- bulk delete
Import, Export, Transfer
The module supports CSV/JSON import and export plus project-to-project transfer of users. Long-running imports, exports, deletes, disables, and transfers should run through Tasks.
JS Scripting
Auth JS scripts run locally with admin.auth() support. Scripts can list users, update users, return structured objects for table/tree/json rendering, and emit logs.
Auth to Firestore Linking
Project settings can define a Firestore user document mapping, defaulting to Auth uid to Firestore document ID. Auth user views can open linked Firestore user documents and show clear linked/unlinked states.
Storage Photo Workflow
When Storage is configured, the Auth editor supports profile photo upload. The app uploads the file to Storage, writes the resulting URL back to photoURL, shows thumbnails, and offers preview/copy/open URL actions.
Safety
- Read-only projects block Auth writes.
- Pro access gates Auth mutations, import/export, transfer, and scripts.
- Production writes and destructive actions require confirmation.
Source Anchors
Sources/FirestructApp/Features/Auth/UI/AuthModuleView.swiftSources/FirestructApp/Features/Auth/UI/AuthModuleView+Controls.swiftSources/FirestructApp/Features/Auth/UI/AuthModuleView+Editor.swiftSources/FirestructApp/Features/Auth/UI/AuthModuleView+Outputs.swiftSources/FirestructApp/Features/Auth/Services/Sources/FirestructCore/AuthListService.swiftSources/FirestructCore/AuthListService+Operations.swift