Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/8.0] Preserve RemoteAuthenticationContext during trimming if used in JS interop #54655

Merged
merged 1 commit into from
Apr 2, 2024

Conversation

halter73
Copy link
Member

@halter73 halter73 commented Mar 21, 2024

Backport of #54225 to release/8.0

Description

Preserve RemoteAuthenticationContext from Microsoft.AspNetCore.Components.WebAssembly.Authentication during trimming if used in JS interop in order to avoid errors during sign in and sign out.

Fixes #49956 and other customer-reported issues. See original PR for full list.

Customer Impact

With certain non-default, but common configurations, over trimming can cause Blazor WASM AAD authentication to show 'There was an error trying to log you in: '"undefined" is not valid JSON' despite the login succeeding.

login error

This can also cause the final redirect to fail after logging out causing the user to get stuck "Processing logout callback..." instead of redirecting back to the previous page.

logout error

The over trimming also prevents "extraQueryParams" from being sent to the OIDC provider as reported in #53409.

Regression?

  • Yes
  • No

Risk

  • High
  • Medium
  • Low

This change is thoroughly tested and simply preserves more necessary members during trimming of the Microsoft.AspNetCore.Components.WebAssembly.Authentication assembly.

Verification

  • Manual (required)
  • Automated

Packaging changes reviewed?

  • Yes
  • No
  • N/A

@halter73 halter73 added the Servicing-consider Shiproom approval is required for the issue label Mar 21, 2024
@halter73 halter73 requested a review from javiercn March 21, 2024 00:37
@halter73 halter73 requested a review from a team as a code owner March 21, 2024 00:37
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-blazor Includes: Blazor, Razor Components label Mar 21, 2024
@dotnet-policy-service dotnet-policy-service bot added this to the 8.0.x milestone Mar 21, 2024
@halter73 halter73 changed the title Preserve RemoteAuthenticationContext during trimming if used in JS interop [release/8.0] Preserve RemoteAuthenticationContext during trimming if used in JS interop Mar 21, 2024
@rbhanda rbhanda modified the milestones: 8.0.x, 8.0.5 Mar 21, 2024
@rbhanda rbhanda added Servicing-approved Shiproom has approved the issue and removed Servicing-consider Shiproom approval is required for the issue labels Mar 21, 2024
@halter73
Copy link
Member Author

@javiercn Can you sign off on this? This is a straight backport of #54225.

@dotnet-policy-service dotnet-policy-service bot added the pending-ci-rerun When assigned to a PR indicates that the CI checks should be rerun label Apr 2, 2024
@wtgodbe wtgodbe merged commit 53e662d into release/8.0 Apr 2, 2024
23 of 25 checks passed
@wtgodbe wtgodbe deleted the halter73/49956-8.0 branch April 2, 2024 21:03
@wtgodbe wtgodbe removed the pending-ci-rerun When assigned to a PR indicates that the CI checks should be rerun label Apr 2, 2024
@dotnet-policy-service dotnet-policy-service bot modified the milestone: 8.0.5 Apr 2, 2024
oskogstad added a commit to digdir/dialogporten that referenced this pull request May 26, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [Microsoft.AspNetCore.Authentication.JwtBearer](https://asp.net/)
([source](https://togithub.com/dotnet/aspnetcore)) | `8.0.4` -> `8.0.5`
|
[![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.AspNetCore.Authentication.JwtBearer/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Microsoft.AspNetCore.Authentication.JwtBearer/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Microsoft.AspNetCore.Authentication.JwtBearer/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.AspNetCore.Authentication.JwtBearer/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [Microsoft.AspNetCore.Mvc.NewtonsoftJson](https://asp.net/)
([source](https://togithub.com/dotnet/aspnetcore)) | `8.0.4` -> `8.0.5`
|
[![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.AspNetCore.Mvc.NewtonsoftJson/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Microsoft.AspNetCore.Mvc.NewtonsoftJson/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Microsoft.AspNetCore.Mvc.NewtonsoftJson/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.AspNetCore.Mvc.NewtonsoftJson/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [Microsoft.AspNetCore.OpenApi](https://asp.net/)
([source](https://togithub.com/dotnet/aspnetcore)) | `8.0.4` -> `8.0.5`
|
[![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.AspNetCore.OpenApi/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Microsoft.AspNetCore.OpenApi/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Microsoft.AspNetCore.OpenApi/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.AspNetCore.OpenApi/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[Microsoft.EntityFrameworkCore.Relational](https://docs.microsoft.com/ef/core/)
([source](https://togithub.com/dotnet/efcore)) | `8.0.4` -> `8.0.5` |
[![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.EntityFrameworkCore.Relational/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Microsoft.EntityFrameworkCore.Relational/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Microsoft.EntityFrameworkCore.Relational/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.EntityFrameworkCore.Relational/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[Microsoft.EntityFrameworkCore.Tools](https://docs.microsoft.com/ef/core/)
([source](https://togithub.com/dotnet/efcore)) | `8.0.4` -> `8.0.5` |
[![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.EntityFrameworkCore.Tools/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Microsoft.EntityFrameworkCore.Tools/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Microsoft.EntityFrameworkCore.Tools/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.EntityFrameworkCore.Tools/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [Microsoft.Extensions.Caching.StackExchangeRedis](https://asp.net/)
([source](https://togithub.com/dotnet/aspnetcore)) | `8.0.4` -> `8.0.5`
|
[![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.Extensions.Caching.StackExchangeRedis/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Microsoft.Extensions.Caching.StackExchangeRedis/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Microsoft.Extensions.Caching.StackExchangeRedis/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.Extensions.Caching.StackExchangeRedis/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [Microsoft.Extensions.Http.Polly](https://asp.net/)
([source](https://togithub.com/dotnet/aspnetcore)) | `8.0.4` -> `8.0.5`
|
[![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.Extensions.Http.Polly/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Microsoft.Extensions.Http.Polly/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Microsoft.Extensions.Http.Polly/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.Extensions.Http.Polly/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>dotnet/aspnetcore
(Microsoft.AspNetCore.Authentication.JwtBearer)</summary>

###
[`v8.0.5`](https://togithub.com/dotnet/aspnetcore/releases/tag/v8.0.5):
.NET 8.0.5

[Release](https://togithub.com/dotnet/core/releases/tag/v8.0.5)

##### What's Changed

- \[release/8.0] Update dependencies from dotnet/source-build-externals
by [@&#8203;dotnet-maestro](https://togithub.com/dotnet-maestro) in
[dotnet/aspnetcore#54744
- Update branding to 8.0.5 by
[@&#8203;vseanreesermsft](https://togithub.com/vseanreesermsft) in
[dotnet/aspnetcore#54907
- \[release/8.0] Convert to 1ES templates by
[@&#8203;RussKie](https://togithub.com/RussKie) in
[dotnet/aspnetcore#54660
- Increase logs and delays in CanLaunchPhotinoWebViewAndClickButton by
[@&#8203;Eilon](https://togithub.com/Eilon) in
[dotnet/aspnetcore#54608
- \[release/8.0] (deps): Bump src/submodules/googletest from `31993df`
to `77afe8e` by [@&#8203;dependabot](https://togithub.com/dependabot) in
[dotnet/aspnetcore#54872
- \[release/8.0] Reduce helix-matrix timeout to 5 hours by
[@&#8203;github-actions](https://togithub.com/github-actions) in
[dotnet/aspnetcore#54778
- \[release/8.0] Preserve RemoteAuthenticationContext during trimming if
used in JS interop by [@&#8203;halter73](https://togithub.com/halter73)
in
[dotnet/aspnetcore#54655
- \[release/8.0] Improve usage of `Type.GetType` when activating types
in data protection by
[@&#8203;github-actions](https://togithub.com/github-actions) in
[dotnet/aspnetcore#54762
- \[release/8.0] Fix route analyzer performance with highly concatenated
strings by [@&#8203;github-actions](https://togithub.com/github-actions)
in
[dotnet/aspnetcore#54763
- \[release/8.0] Suppress .ps1 SDL errors by
[@&#8203;wtgodbe](https://togithub.com/wtgodbe) in
[dotnet/aspnetcore#54915
- \[release/8.0] Backport test fixes by
[@&#8203;MackinnonBuck](https://togithub.com/MackinnonBuck) in
[dotnet/aspnetcore#54912
- \[release/8.0] Skip SpotBugs for now by
[@&#8203;wtgodbe](https://togithub.com/wtgodbe) in
[dotnet/aspnetcore#54952
- Merging internal commits for release/8.0 by
[@&#8203;vseanreesermsft](https://togithub.com/vseanreesermsft) in
[dotnet/aspnetcore#55034
- \[release/8.0] Update dependencies from dotnet/arcade by
[@&#8203;dotnet-maestro](https://togithub.com/dotnet-maestro) in
[dotnet/aspnetcore#55061
- \[release/8.0] Update Wix version by
[@&#8203;github-actions](https://togithub.com/github-actions) in
[dotnet/aspnetcore#55101

**Full Changelog**:
dotnet/aspnetcore@v8.0.4...v8.0.5

</details>

<details>
<summary>dotnet/efcore
(Microsoft.EntityFrameworkCore.Relational)</summary>

### [`v8.0.5`](https://togithub.com/dotnet/efcore/releases/tag/v8.0.5):
EF Core 8.0.5

This is a [patch release of EF Core
8.0](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/8.0.5)
containing only updates to dependencies. There are no additional fixes
in this release beyond those already shipped in EF Core 8.0.4.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 7am on Sunday,before 7am on
Wednesday" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/digdir/dialogporten).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ole Jørgen Skogstad <skogstad@softis.net>
halter73 added a commit to halter73/AspNetCore that referenced this pull request Jun 18, 2024
halter73 added a commit to halter73/AspNetCore that referenced this pull request Jun 18, 2024
wtgodbe pushed a commit that referenced this pull request Jul 2, 2024
…#56181)

* Don't require latest runtime patch for Blazor DevServer

* Use exact runtime for non-servicing builds of Blazor DevServer

* Publish to "trimmed" instead of "trimmed-or-threading"

- This fixes a regression introduced by #54655
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-blazor Includes: Blazor, Razor Components Servicing-approved Shiproom has approved the issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants