Skip to content

docs(backend-auth): correct the skip_signature callout — it IS honored#68

Merged
alukach merged 1 commit into
mainfrom
docs/fix-skip-signature-callout
Jun 4, 2026
Merged

docs(backend-auth): correct the skip_signature callout — it IS honored#68
alukach merged 1 commit into
mainfrom
docs/fix-skip-signature-callout

Conversation

@alukach
Copy link
Copy Markdown
Member

@alukach alukach commented Jun 4, 2026

Problem

docs/auth/backend-auth.md documented backend signing backwards. The "Static Backend Credentials" section claimed:

  1. Omitting access_key_id/secret_access_key makes the proxy "issue unsigned requests automatically."
  2. (NOTE) skip_signature "is currently not honored by the proxy and has no effect."

Both are wrong, and they contradicted docs/configuration/buckets.md, which already documents skip_signature = "true" for unsigned/anonymous access.

What's actually true (verified against object_store 0.13.1)

  • create_builder (crates/core/src/backend/mod.rs:175) applies every parseable option: if let Ok(key) = k.parse() { b = b.with_config(key, v) }.
  • object_store parses skip_signatureAmazonS3ConfigKey::SkipSignature (builder.rs:497) and applies it (:646); when set, AmazonS3 skips SigV4 and issues unsigned requests (with_skip_signature, :907).
  • With no static creds and skip_signature unset, object_store's build() falls back to the InstanceCredentialProvider (builder.rs:1034+) and signs — it does not go anonymous.

So skip_signature = "true" is the actual control for public-bucket access, and it's used by examples/server/config.toml and the cf-workers wrangler examples. The OIDC backend-auth path even clears skip_signature in FederatedCredentials::apply_to specifically to re-enable signing.

Change

Rewrites the section: anonymous access needs skip_signature = "true" (with an example), and the NOTE now states it is honored and required, with the correct fallback when it's absent. Docs-only; no code change.

🤖 Generated with Claude Code

The "Static Backend Credentials" section had the credential/signing
relationship backwards:

- It claimed omitting access_key_id/secret_access_key yields unsigned requests
  "automatically." It doesn't: object_store's S3 builder falls back to its
  default credential chain (InstanceCredentialProvider, env, ...) and still
  signs (object_store 0.13.1 builder.rs build()).
- A NOTE claimed skip_signature "is not honored and has no effect." It is:
  create_builder (crates/core/src/backend/mod.rs) passes every backend_options
  entry to object_store via with_config, which parses "skip_signature" ->
  AmazonS3ConfigKey::SkipSignature and skips SigV4.

skip_signature is in fact the control for unsigned/public-bucket access (used
by examples/server/config.toml and the cf-workers wrangler configs).
docs/configuration/buckets.md already documented it correctly, so this also
resolves an internal contradiction. The federation path's apply_to clears
skip_signature precisely to turn signing back on.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 4, 2026

📖 Docs preview deployed to https://multistore-docs-pr-68.development-seed.workers.dev

  • Date: 2026-06-04T20:43:06Z
  • Commit: 51706f1

@alukach alukach merged commit 2166d94 into main Jun 4, 2026
11 checks passed
@alukach alukach deleted the docs/fix-skip-signature-callout branch June 4, 2026 20:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant