Skip to content

Commit c0bc2f5

Browse files
Merge pull request #35121 from dotnet/main
Merge to Live
2 parents 472c42f + a055d97 commit c0bc2f5

28 files changed

+1127
-273
lines changed

.github/workflows/quest.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
uses: dotnet/docs-tools/actions/sequester@main
4747
env:
4848
ImportOptions__ApiKeys__GitHubToken: ${{ secrets.GITHUB_TOKEN }}
49-
ImportOptions__ApiKeys__AzureAccessToken: ${{ steps.azure-oidc-auth.outputs.access-token }}s
49+
ImportOptions__ApiKeys__AzureAccessToken: ${{ steps.azure-oidc-auth.outputs.access-token }}
5050
ImportOptions__ApiKeys__QuestKey: ${{ secrets.QUEST_KEY }}
5151
ImportOptions__ApiKeys__SequesterPrivateKey: ${{ secrets.SEQUESTER_PRIVATEKEY }}
5252
ImportOptions__ApiKeys__SequesterAppID: ${{ secrets.SEQUESTER_APPID }}
16.9 KB
Loading

aspnetcore/blazor/security/includes/troubleshoot-server.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,16 @@ To enable debug or trace logging for Blazor WebAssembly authentication, see the
66

77
### Common errors
88

9+
* Debugger breaks on an exception during logout with Microsoft Entra External ID
10+
11+
The following exception stops the Visual Studio debugger during logout with [Microsoft Entra External ID](/entra/external-id/external-identities-overview):
12+
13+
> :::no-loc text="Uncaught TypeError TypeError: Failed to execute 'postMessage' on 'Window': The provided value cannot be converted to a sequence.":::
14+
15+
![Visual Studio Debugger breaking on JavaScript exception during logout](../_static/entra-external-id-logout-exception.png)
16+
17+
The exception is thrown from Entra JavaScript code, so this isn't a problem with ASP.NET Core. The exception doesn't impact app functionality in production, so the exception can be ignored during local development testing.
18+
919
* Misconfiguration of the app or Identity Provider (IP)
1020

1121
The most common errors are caused by incorrect configuration. The following are a few examples:

aspnetcore/fundamentals/servers/yarp/config-providers.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,10 @@ The configuration objects and collections supplied to the proxy should be read-o
6868
If the `IChangeToken` supports `ActiveChangeCallbacks`, once the proxy has processed the initial set of configurations it will register a callback with this token. If the provider does not support callbacks then `HasChanged` will be polled every 5 minutes.
6969

7070
When the provider wants to provide a new configuration to the proxy it should:
71-
- load that configuration in the background.
71+
- Load that configuration in the background.
7272
- Route and cluster objects are immutable, so new instances have to be created for any new data.
7373
- Objects for unchanged routes and clusters can be re-used, or new instances can be created - changes will be detected by diffing them.
74-
- optionally validate the configuration using the [IConfigValidator](xref:Yarp.ReverseProxy.Configuration.IConfigValidator), and only then signal the `IChangeToken` from the prior `IProxyConfig` instance that new data is available. The proxy will call `GetConfig()` again to retrieve the new data.
74+
- Optionally validate the configuration using the [IConfigValidator](xref:Yarp.ReverseProxy.Configuration.IConfigValidator), and only then signal the `IChangeToken` from the prior `IProxyConfig` instance that new data is available. The proxy will call `GetConfig()` again to retrieve the new data.
7575

7676
There are important differences when reloading configuration vs the first configuration load.
7777
- The new configuration will be diffed against the current one and only modified routes or clusters will be updated. The update will be applied atomically and will only affect new requests, not requests currently in progress.

aspnetcore/fundamentals/servers/yarp/dests-health-checks.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,12 @@ Active health check settings can also be defined in code via the corresponding t
8484

8585
`Cluster/HealthCheck/Active` section and [ActiveHealthCheckConfig](xref:Yarp.ReverseProxy.Configuration.ActiveHealthCheckConfig):
8686

87-
- `Enabled` - flag indicating whether active health check is enabled for a cluster. Default `false`
88-
- `Interval` - period of sending health probing requests. Default `00:00:15`
89-
- `Timeout` - probing request timeout. Default `00:00:10`
90-
- `Policy` - name of a policy evaluating destinations' active health states. Mandatory parameter
91-
- `Path` - health check path on all cluster's destinations. Default `null`.
92-
- `Query` - health check query on all cluster's destinations. Default `null`.
87+
- `Enabled`: Flag indicating whether active health check is enabled for a cluster. Default `false`
88+
- `Interval`: Period of sending health probing requests. Default `00:00:15`
89+
- `Timeout`: Probing request timeout. Default `00:00:10`
90+
- `Policy`: Name of a policy evaluating destinations' active health states. Mandatory parameter
91+
- `Path`: Health check path on all cluster's destinations. Default `null`.
92+
- `Query`: Health check query on all cluster's destinations. Default `null`.
9393

9494
`Destination` section and [DestinationConfig](xref:Yarp.ReverseProxy.Configuration.DestinationConfig).
9595

@@ -346,10 +346,10 @@ public class FirstUnsuccessfulResponseHealthPolicy : IPassiveHealthCheckPolicy
346346
## Available destination collection
347347
Destinations health state is used to determine which of them are eligible for receiving proxied requests. Each cluster maintains its own list of available destinations on `AvailableDestinations` property of the [ClusterDestinationState](xref:Yarp.ReverseProxy.Model.ClusterDestinationsState) type. That list gets rebuilt when any destination's health state changes. The [IClusterDestinationsUpdater](xref:Yarp.ReverseProxy.Health.IClusterDestinationsUpdater) controls that process and calls an [IAvailableDestinationsPolicy](xref:Yarp.ReverseProxy.Health.IAvailableDestinationsPolicy) configured on the cluster to actually choose the available destinations from the all cluster's destinations. There are the following built-in policies provided and custom ones can be implemented if necessary.
348348

349-
- `HealthyAndUnknown` - inspects each `DestinationState` and adds it on the available destination list if all of the following statements are TRUE. If no destinations are available then requests will get a 503 error.
349+
- `HealthyAndUnknown` - Inspects each `DestinationState` and adds it on the available destination list if all of the following statements are TRUE. If no destinations are available then requests will get a 503 error.
350350
- Active health checks are disabled on the cluster OR `DestinationHealthState.Active != DestinationHealth.Unhealthy`
351351
- Passive health checks are disabled on the cluster OR `DestinationHealthState.Passive != DestinationHealth.Unhealthy`
352-
- `HealthyOrPanic` - calls `HealthyAndUnknown` policy at first to get the available destinations. If none of them are returned from this call, it marks all cluster's destinations as available. This is the default policy.
352+
- `HealthyOrPanic` - Calls `HealthyAndUnknown` policy at first to get the available destinations. If none of them are returned from this call, it marks all cluster's destinations as available. This is the default policy.
353353

354354
**NOTE**: An available destination policy configured on a cluster will be always called regardless of if any health check is enabled on the given cluster. The health state of a disabled health check is set to `Unknown`.
355355

0 commit comments

Comments
 (0)