Blazor-specific 'how to download' guidance (#31979)
parent
abd0c16aea
commit
1f58ecea95
|
@ -37,13 +37,13 @@ The sample app was built as a reference for server-side Blazor apps that use EF
|
|||
|
||||
:::moniker range=">= aspnetcore-8.0"
|
||||
|
||||
[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:index#how-to-download-a-sample)): Select the folder that matches the version of .NET that you're adopting. Within the version folder, access the sample named `BlazorWebAppEFCore`.
|
||||
[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)): Select the folder that matches the version of .NET that you're adopting. Within the version folder, access the sample named `BlazorWebAppEFCore`.
|
||||
|
||||
:::moniker-end
|
||||
|
||||
:::moniker range="< aspnetcore-8.0"
|
||||
|
||||
[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:index#how-to-download-a-sample)): Select the folder that matches the version of .NET that you're adopting. Within the version folder, access the sample named `BlazorServerEFCoreSample`.
|
||||
[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)): Select the folder that matches the version of .NET that you're adopting. Within the version folder, access the sample named `BlazorServerEFCoreSample`.
|
||||
|
||||
:::moniker-end
|
||||
|
||||
|
@ -82,7 +82,7 @@ The sample uses a local [SQLite](https://www.sqlite.org/index.html) database so
|
|||
The grid, add, and view components use the "context-per-operation" pattern, where a context is created for each operation. The edit component uses the "context-per-component" pattern, where a context is created for each component.
|
||||
|
||||
> [!NOTE]
|
||||
> Some of the code examples in this topic require namespaces and services that aren't shown. To inspect the fully working code, including the required [`@using`](xref:mvc/views/razor#using) and [`@inject`](xref:mvc/views/razor#inject) directives for Razor examples, see the [sample app](https://github.com/dotnet/blazor-samples).
|
||||
> Some of the code examples in this topic require namespaces and services that aren't shown. To inspect the fully working code, including the required [`@using`](xref:mvc/views/razor#using) and [`@inject`](xref:mvc/views/razor#inject) directives for Razor examples, see the [sample app](#sample-app).
|
||||
|
||||
## Database access
|
||||
|
||||
|
|
|
@ -142,7 +142,7 @@ In Blazor apps created from a Blazor project template, the `NotFound` component
|
|||
## Additional resources
|
||||
|
||||
* [Control headers in C# code at startup](xref:blazor/fundamentals/startup#control-headers-in-c-code)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
||||
Mozilla MDN Web Docs documentation:
|
||||
|
||||
|
|
|
@ -905,4 +905,4 @@ For an alternative approach suited to sharing data in memory and across componen
|
|||
* [Binding to radio buttons in a form](xref:blazor/forms/binding#radio-buttons)
|
||||
* [Binding `InputSelect` options to C# object `null` values](xref:blazor/forms/binding#binding-inputselect-options-to-c-object-null-values)
|
||||
* [ASP.NET Core Blazor event handling: `EventCallback` section](xref:blazor/components/event-handling#eventcallback)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
|
|
@ -389,4 +389,4 @@ To control the content in a layout from a child Razor component, see <xref:blazo
|
|||
## Additional resources
|
||||
|
||||
* <xref:mvc/views/layout>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
|
|
@ -201,4 +201,4 @@ When using generic-typed components, the type parameter is inferred if possible.
|
|||
## Additional resources
|
||||
|
||||
* <xref:blazor/performance#define-reusable-renderfragments-in-code>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
|
|
@ -211,4 +211,4 @@ For more information on CORS with ASP.NET Core apps and other Microsoft products
|
|||
* [`<a>`: The Anchor element: Security and privacy (MDN documentation)](https://developer.mozilla.org/docs/Web/HTML/Element/a#security_and_privacy)
|
||||
* <xref:blazor/file-uploads>
|
||||
* <xref:blazor/forms/index>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
|
|
@ -864,7 +864,7 @@ For more information on SignalR configuration and how to set <xref:Microsoft.Asp
|
|||
* <xref:blazor/file-downloads>
|
||||
* <xref:mvc/models/file-uploads#security-considerations>
|
||||
* <xref:blazor/forms/index>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
||||
:::moniker-end
|
||||
|
||||
|
@ -872,6 +872,6 @@ For more information on SignalR configuration and how to set <xref:Microsoft.Asp
|
|||
|
||||
* <xref:mvc/models/file-uploads#security-considerations>
|
||||
* <xref:blazor/forms/index>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
||||
:::moniker-end
|
||||
|
|
|
@ -361,7 +361,7 @@ The following additional form examples are available for inspection in the [ASP.
|
|||
:::moniker range=">= aspnetcore-8.0"
|
||||
|
||||
* <xref:blazor/file-uploads>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
* [ASP.NET Core GitHub repository (`dotnet/aspnetcore`) forms test assets](https://github.com/dotnet/aspnetcore/tree/main/src/Components/test/testassets/Components.TestServer/RazorComponents/Pages/Forms)
|
||||
|
||||
:::moniker-end
|
||||
|
@ -372,7 +372,7 @@ The following additional form examples are available for inspection in the [ASP.
|
|||
* <xref:blazor/security/webassembly/hosted-with-microsoft-entra-id>
|
||||
* <xref:blazor/security/webassembly/hosted-with-azure-active-directory-b2c>
|
||||
* <xref:blazor/security/webassembly/hosted-with-identity-server>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
* [ASP.NET Core GitHub repository (`dotnet/aspnetcore`) forms test assets](https://github.com/dotnet/aspnetcore/tree/main/src/Components/test/testassets/Components.TestServer/RazorComponents/Pages/Forms)
|
||||
|
||||
:::moniker-end
|
||||
|
|
|
@ -475,7 +475,7 @@ In spite of the scoped service registration in the `Program` file and the longev
|
|||
|
||||
### Detect client-side transient disposables
|
||||
|
||||
Custom code can be added to a client-side Blazor app to detect disposable transient services in an app that should use <xref:Microsoft.AspNetCore.Components.OwningComponentBase>. This approach is useful if you're concerned that code added to the app in the future consumes one or more transient disposable services, including services added by libraries. Demonstration code is available in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples/tree/main).
|
||||
Custom code can be added to a client-side Blazor app to detect disposable transient services in an app that should use <xref:Microsoft.AspNetCore.Components.OwningComponentBase>. This approach is useful if you're concerned that code added to the app in the future consumes one or more transient disposable services, including services added by libraries. Demonstration code is available in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples/tree/main) ([how to download](xref:blazor/fundamentals/index#sample-apps)).
|
||||
|
||||
Inspect the following in .NET 6 or later versions of the `BlazorSample_WebAssembly` sample:
|
||||
|
||||
|
@ -490,7 +490,7 @@ Inspect the following in .NET 6 or later versions of the `BlazorSample_WebAssemb
|
|||
|
||||
### Detect server-side transient disposables
|
||||
|
||||
Custom code can be added to a server-side Blazor app to detect server-side disposable transient services in an app that should use <xref:Microsoft.AspNetCore.Components.OwningComponentBase>. This approach is useful if you're concerned that code added to the app in the future consumes one or more transient disposable services, including services added by libraries. Demonstration code is available in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples/tree/main).
|
||||
Custom code can be added to a server-side Blazor app to detect server-side disposable transient services in an app that should use <xref:Microsoft.AspNetCore.Components.OwningComponentBase>. This approach is useful if you're concerned that code added to the app in the future consumes one or more transient disposable services, including services added by libraries. Demonstration code is available in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples/tree/main) ([how to download](xref:blazor/fundamentals/index#sample-apps)).
|
||||
|
||||
:::moniker-end
|
||||
|
||||
|
@ -526,7 +526,7 @@ Transient service registrations for <xref:System.Net.Http.IHttpClientFactory>/<x
|
|||
|
||||
Other instances of <xref:System.Net.Http.IHttpClientFactory>/<xref:System.Net.Http.HttpClient> are also discovered. These instances can also be ignored.
|
||||
|
||||
The Blazor sample apps in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples/tree/main) demonstrate the code to detect transient disposables. However, the code is deactivated because the sample apps include <xref:System.Net.Http.IHttpClientFactory>/<xref:System.Net.Http.HttpClient> handlers.
|
||||
The Blazor sample apps in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples/tree/main) ([how to download](xref:blazor/fundamentals/index#sample-apps)) demonstrate the code to detect transient disposables. However, the code is deactivated because the sample apps include <xref:System.Net.Http.IHttpClientFactory>/<xref:System.Net.Http.HttpClient> handlers.
|
||||
|
||||
To activate the demonstration code and witness its operation:
|
||||
|
||||
|
|
|
@ -282,4 +282,4 @@ The <xref:Microsoft.AspNetCore.Components.WebAssembly.Hosting.IWebAssemblyHostEn
|
|||
|
||||
* <xref:blazor/fundamentals/startup>
|
||||
* <xref:fundamentals/environments>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
|
|
@ -799,7 +799,7 @@ Consider manual render tree builder logic on the same level of complexity and wi
|
|||
* <xref:blazor/fundamentals/logging>
|
||||
* <xref:fundamentals/error-handling>†
|
||||
* <xref:web-api/index>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
||||
:::moniker-end
|
||||
|
||||
|
@ -808,7 +808,7 @@ Consider manual render tree builder logic on the same level of complexity and wi
|
|||
* <xref:blazor/fundamentals/logging>
|
||||
* <xref:fundamentals/error-handling>†
|
||||
* <xref:web-api/index>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
||||
:::moniker-end
|
||||
|
||||
|
|
|
@ -161,17 +161,17 @@ Documentation sample apps are available for inspection and download:
|
|||
|
||||
[Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
|
||||
Locate a sample app by first selecting the version folder that matches the version of .NET that you're working with.
|
||||
|
||||
:::moniker range=">= aspnetcore-8.0"
|
||||
|
||||
Samples apps in the repository:
|
||||
|
||||
<!-- UPDATE 8.0 Uncomment link when article is live -->
|
||||
|
||||
* Blazor Web App
|
||||
* Blazor WebAssembly
|
||||
* Blazor Web App with EF Core (<xref:blazor/blazor-ef-core>)
|
||||
* Blazor Web App with SignalR (<xref:blazor/tutorials/signalr-blazor>)
|
||||
* Blazor Web App with OIDC and Aspire <!-- (<xref:blazor/security/server/blazor-web-app-with-oidc-and-aspire>) -->
|
||||
* Blazor Web App with OIDC and Aspire (<xref:blazor/security/server/blazor-web-app-oidc>)
|
||||
* Blazor WebAssembly scopes-enabled logging (<xref:blazor/fundamentals/logging#client-side-log-scopes>)
|
||||
* Blazor WebAssembly with ASP.NET Core Identity (<xref:blazor/security/webassembly/standalone-with-identity>)
|
||||
|
||||
|
@ -197,6 +197,11 @@ The ASP.NET Core repository's Basic Test App is also a helpful set of samples fo
|
|||
|
||||
[!INCLUDE[](~/includes/aspnetcore-repo-ref-source-links.md)]
|
||||
|
||||
To download the sample apps:
|
||||
|
||||
* Download the [Blazor samples repository](https://github.com/dotnet/blazor-samples) ZIP file.
|
||||
* Unzip the file.
|
||||
|
||||
## Byte multiples
|
||||
|
||||
.NET byte sizes use metric prefixes for non-decimal multiples of bytes based on powers of 1024.
|
||||
|
|
|
@ -594,7 +594,7 @@ Run the app again. Select the **`Log Messages`** button. Notice that the logging
|
|||
|
||||
## Client-side log scopes
|
||||
|
||||
The developer tools console logger doesn't support [log scopes](xref:fundamentals/logging/index#log-scopes). However, a [custom logger](#client-side-custom-logger-provider) can support log scopes. For an unsupported example that you can further develop to suit your needs, see the `BlazorWebAssemblyScopesLogger` sample app in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples).
|
||||
The developer tools console logger doesn't support [log scopes](xref:fundamentals/logging/index#log-scopes). However, a [custom logger](#client-side-custom-logger-provider) can support log scopes. For an unsupported example that you can further develop to suit your needs, see the `BlazorWebAssemblyScopesLogger` sample app in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)).
|
||||
|
||||
The sample app uses standard ASP.NET Core <xref:Microsoft.Extensions.Logging.LoggerExtensions.BeginScope%2A> logging syntax to indicate scopes for logged messages. The `Logger` service in the following example is an `ILogger<CustomLoggerExample>`, which is injected into the app's `CustomLoggerExample` component (`CustomLoggerExample.razor`).
|
||||
|
||||
|
@ -859,4 +859,4 @@ Use ***either*** of the following approaches:
|
|||
* [Chrome DevTools](https://developer.chrome.com/docs/devtools/)
|
||||
* [Firefox Developer Tools](https://developer.mozilla.org/docs/Tools)
|
||||
* [Microsoft Edge Developer Tools overview](/microsoft-edge/devtools-guide-chromium/)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
|
|
@ -164,7 +164,7 @@ To resolve the problem, use ***either*** of the following approaches:
|
|||
* <xref:blazor/host-and-deploy/webassembly#signalr-configuration>
|
||||
* <xref:signalr/introduction>
|
||||
* <xref:signalr/configuration>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
||||
## Use sticky sessions for server-side webfarm hosting
|
||||
|
||||
|
@ -1222,4 +1222,4 @@ Use a <xref:Microsoft.AspNetCore.Components.Server.Circuits.CircuitHandler> to c
|
|||
* [What is Azure SignalR Service?](/azure/azure-signalr/signalr-overview)
|
||||
* [Performance guide for Azure SignalR Service](/azure/azure-signalr/signalr-concept-performance)
|
||||
* <xref:signalr/publish-to-azure-web-app>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
|
|
@ -143,4 +143,4 @@ The following `ShowImage2` component:
|
|||
* <xref:blazor/file-downloads>
|
||||
* <xref:blazor/js-interop/call-dotnet-from-javascript#stream-from-javascript-to-net>
|
||||
* <xref:blazor/js-interop/call-javascript-from-dotnet#stream-from-net-to-javascript>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
|
|
@ -1604,6 +1604,6 @@ For more information, see <xref:blazor/js-interop/index#javascript-interop-calls
|
|||
* <xref:blazor/js-interop/call-javascript-from-dotnet>
|
||||
* [`InteropComponent.razor` example (`dotnet/AspNetCore` GitHub repository `main` branch)](https://github.com/dotnet/AspNetCore/blob/main/src/Components/test/testassets/BasicTestApp/InteropComponent.razor): The `main` branch represents the product unit's current development for the next release of ASP.NET Core. To select the branch for a different release (for example, `release/5.0`), use the **Switch branches or tags** dropdown list to select the branch.
|
||||
* [Interaction with the DOM](xref:blazor/js-interop/index#interaction-with-the-dom)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
* <xref:blazor/fundamentals/handle-errors#javascript-interop> (*JavaScript interop* section)
|
||||
* [Threat mitigation: .NET methods invoked from the browser](xref:blazor/security/server/interactive-server-side-rendering#net-methods-invoked-from-the-browser)
|
||||
|
|
|
@ -1586,6 +1586,6 @@ For more information, see <xref:blazor/js-interop/index#javascript-interop-calls
|
|||
|
||||
* <xref:blazor/js-interop/call-dotnet-from-javascript>
|
||||
* [`InteropComponent.razor` example (`dotnet/AspNetCore` GitHub repository `main` branch)](https://github.com/dotnet/AspNetCore/blob/main/src/Components/test/testassets/BasicTestApp/InteropComponent.razor): The `main` branch represents the product unit's current development for the next release of ASP.NET Core. To select the branch for a different release (for example, `release/5.0`), use the **Switch branches or tags** dropdown list to select the branch.
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
* <xref:blazor/fundamentals/handle-errors#javascript-interop> (*JavaScript interop* section)
|
||||
* [Threat mitigation: JavaScript functions invoked from .NET](xref:blazor/security/server/interactive-server-side-rendering#javascript-functions-invoked-from-net)
|
||||
|
|
|
@ -633,7 +633,7 @@ To create an app that can run as either a Blazor Server app or a Blazor WebAssem
|
|||
* <xref:blazor/tooling>
|
||||
* <xref:blazor/hosting-models>
|
||||
* <xref:fundamentals/minimal-apis/overview>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
||||
:::moniker-end
|
||||
|
||||
|
@ -641,6 +641,6 @@ To create an app that can run as either a Blazor Server app or a Blazor WebAssem
|
|||
|
||||
* <xref:blazor/tooling>
|
||||
* <xref:blazor/hosting-models>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
||||
:::moniker-end
|
||||
|
|
|
@ -17,7 +17,7 @@ zone_pivot_groups: blazor-web-app-oidc-specification
|
|||
|
||||
-->
|
||||
|
||||
This article describes how to secure a Blazor Web App with [OpenID Connect (OIDC)](https://openid.net/developers/how-connect-works/) using a sample app in the [`dotnet/blazor-samples` GitHub repository (.NET 8 or later)](https://github.com/dotnet/blazor-samples).
|
||||
This article describes how to secure a Blazor Web App with [OpenID Connect (OIDC)](https://openid.net/developers/how-connect-works/) using a sample app in the [`dotnet/blazor-samples` GitHub repository (.NET 8 or later)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)).
|
||||
|
||||
:::zone pivot="without-bff-pattern"
|
||||
|
||||
|
@ -39,7 +39,7 @@ The sample app consists of two projects:
|
|||
|
||||
Access the sample apps through the latest version folder from the repository's root with the following link. The projects are in the `BlazorWebAppOidc` folder for .NET 8 or later.
|
||||
|
||||
[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:index#how-to-download-a-sample))
|
||||
[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
||||
## Server-side Blazor Web App project (`BlazorWebAppOidc`)
|
||||
|
||||
|
@ -257,7 +257,7 @@ The sample app consists of five projects:
|
|||
|
||||
Access the sample apps through the latest version folder from the repository's root with the following link. The projects are in the `BlazorWebAppOidcBff` folder for .NET 8 or later.
|
||||
|
||||
[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:index#how-to-download-a-sample))
|
||||
[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
||||
## .NET Aspire projects
|
||||
|
||||
|
|
|
@ -98,7 +98,7 @@ In this article, sample apps serve as a reference for standalone Blazor WebAssem
|
|||
|
||||
Access the sample apps through the latest version folder from the repository's root with the following link. The samples are provided for .NET 8 or later. See the `README` file in the `BlazorWebAssemblyStandaloneWithIdentity` folder for steps on how to run the sample apps.
|
||||
|
||||
[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:index#how-to-download-a-sample))
|
||||
[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
||||
## Backend web API app packages and code
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ The Visual Studio Code instructions use the .NET CLI for ASP.NET Core developmen
|
|||
|
||||
Downloading the tutorial's sample chat app isn't required for this tutorial. The sample app is the final, working app produced by following the steps of this tutorial.
|
||||
|
||||
[View or download sample code](https://github.com/dotnet/blazor-samples)
|
||||
[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
||||
:::moniker range=">= aspnetcore-8.0"
|
||||
|
||||
|
@ -874,4 +874,4 @@ For detailed guidance on the SignalR and Blazor frameworks, see the following re
|
|||
* <xref:blazor/debug>
|
||||
* <xref:blazor/security/server/static-server-side-rendering>
|
||||
* <xref:blazor/security/server/interactive-server-side-rendering>
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
|
||||
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))
|
||||
|
|
Loading…
Reference in New Issue