diff options
| author | WebX11 SysOp <darkmotox11@gmail.com> | 2026-11-05 23:49:03 +0100 |
|---|---|---|
| committer | WebX11 SysOp <darkmotox11@gmail.com> | 2026-11-05 23:49:03 +0100 |
| commit | 2f2d2c1715fce4a566b57488a48dc520063b6709 (patch) | |
| tree | f968a0bb8f8e9b8e42400f55fc07c63f73a23c4b /docs/usage.html | |
| parent | 3bb89a967645902bb695aedbaea0103def2b3b16 (diff) | |
feat(auth): self-service git push tokens from the dashboard
GET/POST /api/auth/gitpush-token (+ /revoke) on auth-api: session-scoped, CSRF-gated,
3 mints per account per hour, bcrypt into the htpasswd, plaintext returned once and
never stored, audit at /var/lib/webx11/git-push-audit.jsonl.
No sudo or reload needed: nginx re-opens auth_basic_user_file per request, so a new
line is live immediately — proved by a 500 whose error line was per request.
Dashboard card 'Git push token' shows none/active, mints and reveals the remote once,
revokes. Verified in a real browser: badge none -> mint -> active, remote shape checked,
then revoked; htpasswd back to 0 bytes and the test session removed.
Diffstat (limited to 'docs/usage.html')
| -rw-r--r-- | docs/usage.html | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/docs/usage.html b/docs/usage.html index f25a074..52314fa 100644 --- a/docs/usage.html +++ b/docs/usage.html @@ -291,7 +291,7 @@ can never wedge. Nothing here can push — the repository refuses <code>receive- generated from the platform's monorepo and a push to it would be erased by the next publish. Pushes go to a separate host that asks for credentials; the read-only host in your <code>origin</code> stays anonymous and read-only.</p> -<pre><code># 1. one token per account, issued by the platform operator +<pre><code># 1. one token per account: Dashboard -> "Git push token" -> Create (shown once, revocable) # (looks like: https://<user>:wx11gp_…@push.newos.webx11.duckdns.org/newos4.git) git remote add push https://push.newos.webx11.duckdns.org/newos4.git |