Skip to content

Feature/net10 uplift versioning - #4

Merged
fabricioruch merged 3 commits into
mainfrom
feature/net10-uplift-versioning
Aug 3, 2026
Merged

Feature/net10 uplift versioning#4
fabricioruch merged 3 commits into
mainfrom
feature/net10-uplift-versioning

Conversation

@fabricioruch

Copy link
Copy Markdown
Collaborator

Summary

  • Uplift package to net10.0 with versioning aligned to TFM major (10.x.x), updated CI, metadata, and docs.
  • Refactor FunctionRunContext for cohesion: Easy Auth / Bearer parsing moved to internal parsers; ClientPrincipal is internal.
  • Harden auth: Easy Auth (x-ms-client-principal) has priority; cryptographically validated Bearer JWT is only a LocalDevelopment fallback (FUNCTIONS_UTILS_AAD_TENANT_ID / FUNCTIONS_UTILS_AAD_AUDIENCE).
  • Clarify environments: LocalDevelopment = developer machine; Development = Azure cloud DEV (Easy Auth only, no Bearer fallback).
  • Remove DEV_USER_ID / DEV_USER_ROLES / IS_NOT_DEV local overrides.

Test plan

  • dotnet build --configuration Release succeeds and produces WebGate.Azure.FunctionsUtils.10.0.0.nupkg
  • Cloud/Development: identity comes from Easy Auth; forged Bearer alone is ignored
  • LocalDevelopment without Easy Auth: validated Bearer works with tenant/audience env vars set
  • LocalDevelopment with missing tenant/audience: IsAuthenticated() is false (fail closed)
  • Usage still works: new UserFunctionRunContext(req).GetUserId() / GetPayLoad<T>()
  • README environments + security model match the implemented behavior

Fabricio Ruch and others added 3 commits August 3, 2026 10:37
Document the versioning scheme, tighten NuGet publish to main only, and clean up project metadata.

Co-authored-by: Cursor <cursoragent@cursor.com>
…alidation.

Prefer Easy Auth in cloud environments, allow cryptographically validated Bearer JWTs only for LocalDevelopment, and document the security and environment model.

Co-authored-by: Cursor <cursoragent@cursor.com>
@fabricioruch
fabricioruch merged commit 60c6743 into main Aug 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant