TiddlyWiki / TiddlyWiki/MultiWikiServer
Support authenticated-user-header parameter in listen command
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 60
- Forks
- 16
- PR merge metrics
- No merged PRs in 30d
Description
Environment
- MWS version: 0.1.14 and latest (as of 2025-06-29)
- TiddlyWiki core documentation lists
authenticated-user-headeras a valid parameter for--listen(WebServer tiddler).
Background
Hello, I'm Kuan. I'm building a multi-user internal knowledge base where users belong to different groups and need access to different sets of content. MWS's bag and recipe model is a perfect fit for this, so I'm very grateful for the work you've done so far.
Problem
When starting MWS with:
npx mws listen --listener host=0.0.0.0 port=8080 authenticated-user-header=X-Authenticated-User
the server exits with:
✖ Unrecognized key: "authenticated-user-header"
Expected behavior
MWS should accept the authenticated-user-header parameter, as the standard TiddlyWiki Node.js server does. This would allow integration with reverse proxies that handle authentication (e.g., Nginx + Authelia). For our use case, all users authenticate through the proxy, and we need MWS to recognize the authenticated username from the X-Authenticated-User header. This would enable MWS's ACLs to function correctly and allow us to record editors.
Request
If anyone has suggestions for a workaround or an alternative approach that could work with the current version, I would be very grateful. Thank you for your time and for building MWS!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the MWS listen command and its parameter validation, then compare its handling with the standard TiddlyWiki Node.js server and the WebServer tiddler's authenticated-user-header parameter. Confirm that the command accepts the parameter, uses the proxy-provided username for ACLs and editor recording, and preserves existing listen behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, typescript
- Domain
- authentication, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100