TiddlyWiki / TiddlyWiki/MultiWikiServer

Support authenticated-user-header parameter in listen command

Open
#127 6 comments 0 reactions 0 assignees View on GitHub

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-header as 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.