Bug 647079: [28.x] Fix site scoped contextinfo - #10309
Merged
Jesper Schulz-Wedde (JesperSchulz) merged 1 commit intoAug 20, 2026
Merged
Bug 647079: [28.x] Fix site scoped contextinfo#10309Jesper Schulz-Wedde (JesperSchulz) merged 1 commit into
Jesper Schulz-Wedde (JesperSchulz) merged 1 commit into
Conversation
## What & why This fixes SharePoint request-digest acquisition for site-scoped SharePoint URLs. `SharePoint Uri Builder`.GetHost() intentionally returns only the hostname, but request-digest calls used it for `/_api/contextinfo`. For URLs such as `https://tenant.sharepoint.com/sites/site`, this caused the request to target the tenant root instead of the configured site. The change adds a site-base URL accessor and uses it for request-digest acquisition in CreateList, both CreateListItem overloads, CreateFolder, and UpdateListItemMetaDataField. `GetHost()` remains unchanged for callers that require hostname-only behavior. Regression tests verify that contextinfo requests retain the configured `/sites/<site>` path. ## Linked work Fixes #8932 ## How I validated this - [x] I read the full diff and it contains only changes I intended. - [x] I built the affected app(s) locally with zero compilation errors. - [x] I ran the change in Business Central and confirmed it behaves as expected. - [x] I added or updated tests for the new behavior, or explained below why none are needed. **What I tested and the outcome** - Built the affected System Application and test applications locally with zero compilation errors. - Published a temporary System Application build to a disposable local BC29 container using normal synchronization and upgrade semantics. - Ran the SharePoint Client Test codeunit (132970) manually in the BC Test Tool. - Confirmed the regression before the fix: - Expected: site-scoped `.../sites/<site>/_api/contextinfo/` - Actual: tenant-root `.../_api/contextinfo/` - Published the fixed System Application and reran the same tests. - Confirmed that `TestCreateFolder`, `TestCreateListRequestDigestUsesSiteScopedUrl`, and `TestCreateListItemRequestDigestUsesSiteScopedUrl` pass with the fix applied. - Also verified the original scoped SharePoint scenario manually in a disposable v28.1 container. ## Risk & compatibility This is an internal URI-construction change with no schema, data-upgrade, permission, or public API contract changes. `GetHost()` is unchanged. The new site-base URL accessor is used only for request-digest acquisition, ensuring existing hostname-only consumers retain their behavior. Fixes #8932 is the GitHub issue link. GitHub will automatically link it, and close the issue when the PR is merged. Fixes [AB#630670](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/630670) (cherry picked from commit 6561ab7)
Jesper Schulz-Wedde (JesperSchulz)
requested a review
from a team
as a code owner
August 17, 2026 13:45
Jesper Schulz-Wedde (JesperSchulz)
had a problem deploying
to
triage
August 17, 2026 13:45 — with
GitHub Actions
Failure
Jesper Schulz-Wedde (JesperSchulz)
had a problem deploying
to
triage
August 17, 2026 13:47 — with
GitHub Actions
Failure
Darrick (darjoo)
approved these changes
Aug 18, 2026
Jesper Schulz-Wedde (JesperSchulz)
temporarily deployed
to
triage
August 18, 2026 07:07 — with
GitHub Actions
Inactive
Aleyenda
approved these changes
Aug 20, 2026
Jesper Schulz-Wedde (JesperSchulz)
merged commit Aug 20, 2026
df80e17
into
releases/28.x
124 of 132 checks passed
Jesper Schulz-Wedde (JesperSchulz)
deleted the
bugs/647079-28xBackportOf630670
branch
August 20, 2026 07:27
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Backport of #9454 to
releases/28.xfor the September release (28.5).SharePoint Uri Builder.GetHost()intentionally returns only the hostname, but request-digest calls used it for/_api/contextinfo. For site-scoped URLs such ashttps://tenant.sharepoint.com/sites/sitethe request therefore targeted the tenant root instead of the configured site, so folder and list creation failed when the Entra ID application was granted onlySites.Selectedpermissions on Microsoft Graph and SharePoint.This adds a site-base URL accessor and uses it for request-digest acquisition in
CreateList, bothCreateListItemoverloads,CreateFolderandUpdateListItemMetaDataField.GetHost()is unchanged, so existing hostname-only consumers keep their behavior.Regression tests verify that contextinfo requests retain the configured
/sites/<site>path.Work Item(s)
Fixes AB#647079 (backport of AB#630670)
Cherry-pick
Clean cherry-pick of 6561ab7 (
-x), no conflicts and no manual edits. The diff is identical to the change merged tomain: 4 files, 62 insertions, 5 deletions.Risk & compatibility
Internal URI-construction change only. No schema, data-upgrade, permission or public API contract changes.