docs: note serialized decision behavior for approval actions

Clarify that approve/reject/cancel decisions for a single approval request should be treated as serialized and not submitted in parallel.
This commit is contained in:
Andy Dixon
2026-02-26 13:16:32 +00:00
parent 8bb3c1ce12
commit 464524da27
2 changed files with 2 additions and 0 deletions
+1
View File
@@ -139,6 +139,7 @@ This wrapper now delegates to `BlackWall\Auth\AuthClient`.
- Treat generated enrollment URLs as secrets and keep them out of URL query strings and request logs. - Treat generated enrollment URLs as secrets and keep them out of URL query strings and request logs.
- For reverse-proxy deployments, harden trusted proxy/IP forwarding configuration to prevent spoofed client IP headers. - For reverse-proxy deployments, harden trusted proxy/IP forwarding configuration to prevent spoofed client IP headers.
- Keep client-side admin mutation retries idempotent; approval workflows can be lock-serialized and should not be assumed to execute twice. - Keep client-side admin mutation retries idempotent; approval workflows can be lock-serialized and should not be assumed to execute twice.
- Do not submit parallel approve/reject/cancel decisions for the same approval request ID.
- Never place client secrets, refresh tokens, or access tokens in URL query strings. - Never place client secrets, refresh tokens, or access tokens in URL query strings.
- For OIDC providers, include a per-request `nonce` in authorisation requests. - For OIDC providers, include a per-request `nonce` in authorisation requests.
- For direct Cryptbin API usage, send `key_b64url` on unwrap calls; provider rejects key-mismatch unwrap attempts with `403 Forbidden`. - For direct Cryptbin API usage, send `key_b64url` on unwrap calls; provider rejects key-mismatch unwrap attempts with `403 Forbidden`.
+1
View File
@@ -158,6 +158,7 @@ Provider user/project assignment views may exclude disabled projects even if his
- Treat enrollment URLs as sensitive bearer material: do not place them in redirect query parameters, logs, or analytics tags; keep them in one-time server-side flash/session state. - Treat enrollment URLs as sensitive bearer material: do not place them in redirect query parameters, logs, or analytics tags; keep them in one-time server-side flash/session state.
- If your deployment runs behind reverse proxies, ensure trusted-proxy configuration is strict so spoofed forwarding headers cannot bypass IP-based abuse controls. - If your deployment runs behind reverse proxies, ensure trusted-proxy configuration is strict so spoofed forwarding headers cannot bypass IP-based abuse controls.
- For approval-driven admin mutations, assume provider-side execution is serialized per approval item; client retries should still be idempotent and bounded. - For approval-driven admin mutations, assume provider-side execution is serialized per approval item; client retries should still be idempotent and bounded.
- This serialization applies across approval actions (approve/reject/cancel), so clients should avoid parallel decision submissions for the same request ID.
- Configure OAuth client redirect URIs as HTTPS in production; reserve HTTP for localhost loopback testing only. - Configure OAuth client redirect URIs as HTTPS in production; reserve HTTP for localhost loopback testing only.
- Assume provider rate limits are enforced per source identity (for example IP) and shared across related auth endpoints. - Assume provider rate limits are enforced per source identity (for example IP) and shared across related auth endpoints.
- Treat report/export-style provider endpoints as high-cost and expect stricter rate limits. - Treat report/export-style provider endpoints as high-cost and expect stricter rate limits.