Admit operator-tunneled OpenBao callback
All checks were successful
Build and Publish Container Image / build-and-push (push) Successful in 23s
All checks were successful
Build and Publish Container Image / build-and-push (push) Successful in 23s
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a02e3f-7301-7622-9be1-12e5f352881c
This commit is contained in:
parent
34fadae1c1
commit
f5cf77fa0c
3 changed files with 64 additions and 0 deletions
|
|
@ -20,6 +20,17 @@ privacyidea:
|
|||
adminToken: "changeme"
|
||||
realm: "netkingdom"
|
||||
clients:
|
||||
- clientId: "openbao-admin"
|
||||
displayName: "Railiance OpenBao Admin"
|
||||
redirectUris:
|
||||
- "http://localhost:8250/oidc/callback"
|
||||
- "http://127.0.0.1:8250/oidc/callback"
|
||||
- "http://127.0.0.1:18200/ui/vault/auth/netkingdom/oidc/callback"
|
||||
- "https://bao.coulomb.social/ui/vault/auth/netkingdom/oidc/callback"
|
||||
- "https://bao.coulomb.social/ui/vault/auth/keycape/oidc/callback"
|
||||
allowedScopes: ["openid", "profile", "email", "groups"]
|
||||
grantTypes: ["authorization_code"]
|
||||
clientType: "public"
|
||||
- clientId: "demo-app"
|
||||
displayName: "Demo Application"
|
||||
redirectUris:
|
||||
|
|
|
|||
|
|
@ -409,6 +409,30 @@ func TestServiceClientExampleContracts(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestDevConfigOpenBaoAdminAdmitsOperatorTunnelCallback(t *testing.T) {
|
||||
cfg, err := config.Load(filepath.Join("..", "..", "..", "config", "dev-config.yaml"))
|
||||
if err != nil {
|
||||
t.Fatalf("load dev config: %v", err)
|
||||
}
|
||||
if errs := config.ValidateConfig(cfg); len(errs) != 0 {
|
||||
t.Fatalf("dev config must validate: %v", errs)
|
||||
}
|
||||
|
||||
const callback = "http://127.0.0.1:18200/ui/vault/auth/netkingdom/oidc/callback"
|
||||
for _, client := range cfg.Clients {
|
||||
if client.ClientID != "openbao-admin" {
|
||||
continue
|
||||
}
|
||||
for _, redirectURI := range client.RedirectURIs {
|
||||
if redirectURI == callback {
|
||||
return
|
||||
}
|
||||
}
|
||||
t.Fatalf("openbao-admin redirectUris missing exact operator tunnel callback %q", callback)
|
||||
}
|
||||
t.Fatal("dev config missing openbao-admin client")
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Env var loading test
|
||||
// ---------------------------------------------------------------------------
|
||||
|
|
|
|||
29
workplans/ADHOC-2026-08-23.md
Normal file
29
workplans/ADHOC-2026-08-23.md
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
id: ADHOC-2026-08-23
|
||||
type: workplan
|
||||
title: "Ad hoc KeyCape maintenance — 2026-08-23"
|
||||
domain: infotech
|
||||
repo: key-cape
|
||||
status: finished
|
||||
owner: codex
|
||||
topic_slug: netkingdom
|
||||
created: "2026-08-23"
|
||||
updated: "2026-08-23"
|
||||
---
|
||||
|
||||
# Ad hoc KeyCape maintenance — 2026-08-23
|
||||
|
||||
## Admit the operator-tunneled OpenBao callback
|
||||
|
||||
```task
|
||||
id: ADHOC-2026-08-23-T01
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
Added the exact operator-only callback
|
||||
`http://127.0.0.1:18200/ui/vault/auth/netkingdom/oidc/callback` to the
|
||||
source-owned `openbao-admin` static client in `config/dev-config.yaml`. The
|
||||
registration retains exact-match redirects and does not authorize a login,
|
||||
change the OpenBao role, broaden a listener, or handle a credential. A config
|
||||
test pins the exact URI and proves the complete source config validates.
|
||||
Loading…
Add table
Add a link
Reference in a new issue