Table of Contents

Blazor WebAssembly Application

This workflow documents a two-application deployment: a standalone Blazor WebAssembly client application and a separate backend API application. The browser authenticates with an OIDC provider and calls that API directly, while the API owns the main RecroGrid Framework server runtime, business logic, and data access.

Use this model when you intentionally want a browser-based WebAssembly client with direct API access, or when you are maintaining an existing direct-access WebAssembly application.

See Application Models for the deployment, development, and request-flow views.

Architecture

This model has two deployment units: a standalone browser-hosted Blazor WebAssembly client application and a separate backend API application. The client communicates directly with the API, with authentication credentials and API requests managed by the browser-hosted application.

flowchart TD
    client[Browser / Blazor WebAssembly client application]
    api[Backend API application]
    db[(Database)]

    client --> api
    api --> db

Responsibilities

  • Browser and Blazor WebAssembly client host the interactive user interface and obtain authentication credentials from the configured identity provider.
  • Authentication layer issues bearer tokens to the client according to the selected OIDC setup.
  • Direct API access sends HTTP requests from the browser to the RecroGrid Framework API.
  • Backend API application hosts the RecroGrid Framework server runtime, most business logic, entity operations, and framework services.
  • Entity Framework manages the application data model and its persistence integration.
  • Database stores the business data and RecroGrid Framework metadata needed by the application.

Direct browser-to-API communication uses aligned API base-address configuration, bearer-token support, and CORS configuration on the API side.

Workflow

flowchart TD
    create[Create application]
    database[Configure database]
    auth[Configure authentication]
    api[Configure API access]
    run[Run application]

    create --> database --> auth --> api --> run

Next step