205 Commits

Author SHA1 Message Date
9415f92709
feat(auth): add TokenCookies to BasicRequestAuthenticator
Add a TokenCookies []string field checked after query params (step 5).
Each named cookie's value is passed directly to Authenticator.Authenticate
as a token, enabling cookie-based token flows alongside Bearer and query params.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-23 11:31:03 -06:00
e78dffc4bd
wip: random half done-junk 2026-03-23 11:31:03 -06:00
e663f924e2
f: feat(cmd/httplog): add proxy and intercept sse 2026-03-23 11:31:02 -06:00
2aa7721eaa
feat: add cmd/envtocsv for converting env files 2026-03-23 11:31:02 -06:00
d3b860ba96
f: cookie-inspect 2026-03-23 11:31:02 -06:00
3d8960b691
feat: add cmd/cookie-inspect for decoding and verifying a cookie 2026-03-23 11:31:02 -06:00
194f248dd6
f: add cmd/ssechat as ServerSentEvents demo 2026-03-23 11:31:02 -06:00
63a08b69c9
f: add cmd/ssechat as ServerSentEvents demo 2026-03-23 11:31:02 -06:00
719fd44b88
feat: add cmd/ssechat as ServerSentEvents demo 2026-03-23 11:31:02 -06:00
e9967c3667
feat: add cmd/cullbak for culling backup directories 2026-03-23 11:31:02 -06:00
8db9ce955f
wip: ipcohort: move atomics to gitdataset 2026-03-23 11:31:02 -06:00
49b8ed470c
wip: feat: add net/gitdataset for data that updates via git 2026-03-23 11:31:02 -06:00
e79bea6adf
f: net/formmailer 2026-03-23 11:31:02 -06:00
447a9a8d62
wip: feat: add net/formmailer for web forms with bot protection 2026-03-23 11:31:02 -06:00
7a1d797aa1
f: ipcohort / blacklist 2026-03-23 11:31:02 -06:00
8de79be2e7
feat: add net/ipcohort (for blacklisting, whitelisting, etc) 2026-03-23 11:31:02 -06:00
6eedfa3ca0
feat: add net/gitshallow (for incremental updates to data repos) 2026-03-23 11:31:02 -06:00
769c9ba1ee
feat: add cmd/smtp-test for debugging smtp auth and delivery 2026-03-23 11:31:02 -06:00
224bd6bbb3
wip: add more middleware examples 2026-03-23 11:31:02 -06:00
b1b270befa
feat(calendar): parse reminder durations 2026-03-23 11:31:02 -06:00
9289a5b4f7
wip(calendar): rework field access 2026-03-23 11:31:02 -06:00
824ae9770a
f: feat(calendar): calculate fixed and floating yearl and monthly events 2026-03-23 11:31:02 -06:00
0cb2db1464
f: feat(calendar): calculate fixed and floating yearl and monthly events 2026-03-23 11:31:02 -06:00
a78c4ed6fb
wip: feat(calendar): calculate fixed and floating yearl and monthly events 2026-03-23 11:31:02 -06:00
a317960911
f(ai): add WithFormat to change format without changing Generate signature 2026-03-23 11:31:02 -06:00
1d1af91862
f(ai): add WithModel to change model on-the-fly 2026-03-23 11:31:02 -06:00
777e5e5048
f(ai): fix interface / add type guard 2026-03-23 11:31:02 -06:00
4d073c2c40
feat(ai): add Ollama and OpenAI helpers 2026-03-23 11:31:02 -06:00
65a017f3ab
feat: add cmd/smbtest for debugging smb connection issues 2026-03-23 11:31:02 -06:00
df7e070b8c
ref(cmd/monorelease): fix tag and version output, start flagset 2026-03-23 11:31:02 -06:00
ca050da283
WIP: feat(cmd/monorelease): fix versioning 2026-03-23 11:31:02 -06:00
f148cececc
WIP: feat(cmd/monorelease): better table 2026-03-23 11:31:02 -06:00
21b3cbff7a
WIP: feat(cmd/monorelease): show table 2026-03-23 11:31:02 -06:00
82e3d65633
WIP: feat(cmd/monorelease): show bins 2026-03-23 11:31:02 -06:00
f3817d93f7
WIP: feat: add cmd/monorelease for checking version info 2026-03-23 11:31:02 -06:00
966c55e1ee
feat: add tools/gitver for monorepo versioning 2026-03-23 11:31:02 -06:00
4b8670f750
feat: add ./scripts/concat-for-context.sh to reduce total file count 2026-03-23 11:31:02 -06:00
489fac6a7d
doc: add PROMPT.md for Ai context 2026-03-23 11:31:02 -06:00
1d4852ab89
feat: add cmd/api-example as server boilerplate 2026-03-23 11:31:02 -06:00
f8f4378e4a
f: cmd/cli-example 2026-03-23 11:31:02 -06:00
5d5ed2d158
feat: add cmd/cli-example for reference, and Ai context 2026-03-23 11:31:02 -06:00
a854fef67e
test(auth/csvauth): regression test for Authenticate token deadlock
Guards against the v1.2.4 bug (fixed in c32acd5) where Authenticate
held a.mux via defer for its full duration, then called
loadAndVerifyToken which also tries to acquire a.mux — deadlock on
every token auth request.

TestAuthenticateTokenNoDeadlock exercises both the bare-token
("", token) and named-username ("api", token) forms with a 1s
timeout, so a regression fails fast rather than hanging the suite.
2026-03-23 00:26:16 -06:00
a4cb1e3bfd
doc: clarify how to create users and tokens
Signed-off-by: AJ ONeal <aj@therootcompany.com>
2026-03-19 21:17:57 -06:00
0d99234914
ref!(auth/jwt): variadic requiredScopes in NewAccessTokenValidator
Distinguishes the two validator constructors by signature:
- NewIDTokenValidator(iss, aud, azp []string) — allowlist semantics
- NewAccessTokenValidator(iss, aud []string, requiredScopes ...string) — requirement semantics

Variadic scopes read naturally at the call site:
  NewAccessTokenValidator(issuers, audiences, "openid", "profile")

Three-state semantics preserved:
  no args        → scope not checked
  []string{}...  → scope must be present (any value)
  "openid", ...  → scope must contain all listed values

Also removes the old gracePeriod parameter from both constructors
(was 0 at all call sites; set GracePeriod on the struct directly
if a non-default value is needed).

Adds TestCov_NewAccessTokenValidator_Scopes covering all three cases.
auth/jwt/v0.9.1
2026-03-17 08:00:45 -06:00
26bdc0a3db
ref!(auth/jwt): full modern rewrite auth/jwt/v0.9.0 2026-03-17 07:49:53 -06:00
117ed8cc9b
feat(auth/jwt): add jwk fetch and jwt verify auth/jwt/v0.6.5 2026-03-17 07:10:25 -06:00
ba674a673d
doc(tools/monorel): move usage summary to doc.go tools/monorel/v0.6.6 2026-03-08 17:21:55 -06:00
f2302d2f24
chore(monorel): add MPL-2.0 license header 2026-03-08 17:21:55 -06:00
eaa3636a35
feat(monorel): add version output with ldflags support 2026-03-08 17:21:55 -06:00
92e1ae9992
docs(monorel): add README tools/monorel/v0.6.5 2026-03-08 15:55:11 -06:00