Skip to content

feat(files_external/s3): make some auth labels clearer#59204

Open
joshtrichards wants to merge 2 commits intomasterfrom
jtr/feat-external-s3-auth-fields
Open

feat(files_external/s3): make some auth labels clearer#59204
joshtrichards wants to merge 2 commits intomasterfrom
jtr/feat-external-s3-auth-fields

Conversation

@joshtrichards
Copy link
Member

@joshtrichards joshtrichards commented Mar 25, 2026

  • Resolves: #

Summary

Changes

Improve the S3 external storage UI by making two labels more explicit:

  • rename the S3 auth method label from "Access key" to a clearer static-credentials label and update the parameter names
  • rename "Legacy (v2) authentication" to explicitly refer to legacy S3 signature v2 and avoid confusion with "authentication" methods (and prefix with "Use..." for consistent with other elements).
image

Why

The current S3 wording is confusing in two ways:

  1. "Access key" is too vague
    It does not clearly communicate that this option expects long-lived static credentials, and it is easily confused with the field label itself.

  2. "Legacy (v2) authentication" is ambiguous
    This setting is really about legacy S3 request signing compatibility, not the general authentication method.

These changes make the S3 configuration UI more self-explanatory without changing behavior.

Future follow-up

There is a related UX issue where "None" is misleading for S3. I was also hoping to change that (to something like "Instance metadata"). However, that is being left for a follow-up PR because it has additional design/compatibility hurdles:

  • SCHEME_NULL is generic across files_external
  • we re-used null::null rather than creating an S3 specific one
  • Backend::addAuthScheme() works at the scheme level, not per-backend label override
  • introducing an S3-specific replacement likely needs either framework changes or careful compatibility (migration) handling for existing config

For now that one will have to remain labeled "None" as-is in the UI unfortunately...

image

TODO

  • ...

Checklist

AI (if applicable)

  • The content of this PR was partly or fully generated using AI

Signed-off-by: Josh <josh.t.richards@gmail.com>
Avoid the use of "authentication" here since this is really about signing compatibility, not the source of credentials. Also prefix with "Use" for UI consistency.

Signed-off-by: Josh <josh.t.richards@gmail.com>
@joshtrichards joshtrichards requested a review from a team as a code owner March 25, 2026 21:16
@joshtrichards joshtrichards requested review from ArtificialOwl, CarlSchwan, come-nc and provokateurin and removed request for a team March 25, 2026 21:16
@joshtrichards joshtrichards added this to the Nextcloud 34 milestone Mar 25, 2026
@joshtrichards joshtrichards added design Design, UI, UX, etc. and removed design Design, UI, UX, etc. labels Mar 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant