Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[sup] ACM cookie-auth session: URL cluster/node context + temp-credential lifecycle

Open
#354 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
sql, typescript

Research direction

Start by tracing the existing ChCtx/session flow and the ACM URL context, then inspect the /api/account and /api/cluster/{id}/support/credentials entry points. Verify the cookie-only requests, ACM redirect on 401, engineer-email attribution, and single-flight credential minting with every documented response shape; done means all listed acceptance checks pass.

Written by the indexing model from the issue text.

Description

enhancement sup

Part of #352. Heavily simplified by the cookie-auth model (was: #user login + pasted ACM key).

A dedicated ACM-mode ChCtx/session — no login form, no token, no key persistence.

Scope

  • Read context from URL: cluster and node query params (supplied by the ACM console link). No cluster URL→id resolution.
  • Cookie auth: all /api calls credentials:'same-origin', no auth header. A 401 = ACM session lost → redirect to ACM login (standard), not our concern to refresh.
  • Identity: GET /api/account → engineer email, used as CH user= for query_log attribution. Model engineer-identity (from /account) separately from CH transport login (may be a returned login, else the email) and never assume they're the same.
  • Temp CH credential lifecycle: mint via GET /api/cluster/{id}/support/credentials; read TTL from the response (don't hardcode); keep alive via /support/refresh or re-mint; single-flight so concurrent schema/dashboard requests don't mint in parallel. Handle both documented shapes ({password,ttl} / bare string / {login,password}).

Removed vs. original

  • #user sentinel, ACM key in a password field, Chrome-password-store, no-localStorage/share-link/export rules for the key — there is no key in JS anymore.

Acceptance

  • Loads cluster/node from URL; currentUser() is the engineer email.
  • No credential stored in JS; cookie-only; 401 → ACM login redirect.
  • Temp creds mint + refresh (single-flight), TTL from response, all response shapes handled.
Dominant language
TypeScript
Stars
8
Forks
2
Avg merge
1h 34m
Merged PRs (30d)
6

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.

More from Altinity/altinity-sql-browser

All issues in Altinity/altinity-sql-browser

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.