Skip to content

fix(media): refresh projected token paths before Azure authentication - #40

Merged
rschlaefli merged 1 commit into
release/2.0.0-uzhfrom
rs/trypost-token-rotation
Oct 29, 2026
Merged

rschlaefli merged 1 commit into
release/2.0.0-uzhfrom
rs/trypost-token-rotation

Conversation

@rschlaefli

@rschlaefli rschlaefli commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

PHP can keep a resolved path to an old projected workload token after its directory symlink rotates. Azure media copies then fail when the SDK reads that removed target. Refresh the realpath cache immediately before every Azure token acquisition, including calls from retained workers.

A small credential wrapper delegates to the existing SDK through the shared singleton binding. Authentication context, results and exceptions retain their existing behavior. No permissions, storage settings, dependencies or database schema change.

Validation: 81 focused PostgreSQL tests passed, covering repeated external token rotation, missing/unreadable files, credential delegation, media copying, Azure reads and SAS signing. Removing the cache refresh reproduces the token-read exception. Pint and the staged secret scan pass. Opengrep reports only cleanup of a generated temporary test file. Screenshots do not apply because this changes no UI.

All ten hosted checks passed on this head, including both database engines and all browser shards. Independent final source review passed with no findings. The PR remains draft pending named merge/release/deployment approval and live duplication acceptance. The cache refresh adds unmeasured path-resolution work during token acquisition; it does not add retries or guarantee against a rotation racing the read.

Implementation plan

@rschlaefli
rschlaefli marked this pull request as ready for review October 29, 2026 16:52
Copilot AI balanced review requested due to automatic review settings October 29, 2026 16:52
@rschlaefli
rschlaefli merged commit 1ce1a82 into release/2.0.0-uzh Oct 29, 2026
10 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants