Tenho um aplicativo Blazor WASM muito básico voltado para o .NET 8 hospedado no Azure Static Web Apps.
Acabei de adicionar uma página muito simples -- veja abaixo. Posso ir direto para a URL localmente e funciona bem, mas no serviço Azure Static Web App, recebo o seguinte erro de página não encontrada -- veja abaixo. O interessante é que esse não é o erro de página não encontrada que meu aplicativo deveria gerar.
Aqui está o erro de página do Azure não encontrada:
Minha página simples se parece com isso:
@page "/privacy"
<h3>Privacy Policy</h3>
<div>
<p>Some text about privacy policy</p>
<p>More text about privacy policy</p>
</div>
Meu aplicativo usa o Azure AD B2C para gerenciamento de usuários e a página de privacidade que acabei de adicionar deve estar disponível ao público, ou seja, usuários anônimos e também usuários autenticados.
É assim que o meu App.razor
se parece:
<CascadingAuthenticationState>
<Router AppAssembly="@typeof(App).Assembly">
<Found Context="routeData">
<AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)">
<NotAuthorized>
@if (context.User.Identity?.IsAuthenticated != true)
{
<RedirectToLogin />
}
else
{
<p role="alert">You are not authorized to access this resource.</p>
}
</NotAuthorized>
</AuthorizeRouteView>
<FocusOnNavigate RouteData="@routeData" Selector="h1" />
</Found>
<NotFound>
<PageTitle>Not found</PageTitle>
<LayoutView Layout="@typeof(MainLayout)">
<p role="alert">Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
</Router>
</CascadingAuthenticationState>
Alguma ideia do que pode ser o problema aqui?
Para evitar o erro de página não encontrada no aplicativo web estático, adicionei o
staticwebapp.config.json
arquivo ao diretório raiz do meu projeto.Ele permite que você configure roteamento, autenticação, autorização e outras configurações importantes relacionadas à funcionalidade do aplicativo no ambiente do Azure.
staticwebapp.config.json :
Se você estiver usando autenticação, use o arquivo staticwebapp.config.json abaixo .
Saída do aplicativo Web estático do Azure :