Static Web Apps - Routing & Authentication
Route Configuration
Create staticwebapp.config.json in the app root:
{
"routes": [
{
"route": "/api/*",
"allowedRoles": ["authenticated"]
}
],
"navigationFallback": {
"rewrite": "/index.html",
"exclude": ["/api/*", "/*.{png,jpg,gif}"]
},
"responseOverrides": {
"404": {
"rewrite": "/404.html"
}
}
}Authentication
Built-in Providers
{
"routes": [
{
"route": "/admin/*",
"allowedRoles": ["admin"]
}
],
"auth": {
"identityProviders": {
"azureActiveDirectory": {
"registration": {
"openIdIssuer": "https://login.microsoftonline.com/{tenant-id}",
"clientIdSettingName": "AAD_CLIENT_ID",
"clientSecretSettingName": "AAD_CLIENT_SECRET"
}
}
}
}
}Supported Providers
- Azure Active Directory / Entra ID
- GitHub
- Custom OpenID Connect
Role-Based Access
{
"routes": [
{ "route": "/admin/*", "allowedRoles": ["admin"] },
{ "route": "/account/*", "allowedRoles": ["authenticated"] },
{ "route": "/*", "allowedRoles": ["anonymous"] }
]
}