Issue with azure ad authentication #1720
|
I have setup app using azure static web app and azure sql and i am using azure ad for authentication , locally it works fine with dab cli but when i deploy app to azure then i am getting error |
Replies: 3 comments 10 replies
|
Hi Muhammad Shafiq (@mshafiqmk) , When using DAB with Static Web Apps (Database Connections feature), DAB configuration (for Static Web Apps, this file may be named "authentication": {
"provider": "StaticWebApps"
}From Static Web Apps, you can then configure authentication providers like Azure AD. Step by step found here: https://learn.microsoft.com/azure/static-web-apps/authentication-authorization For convenience, these were the steps I had used to create my own working SWA+DAB environment. The following changes should be made in your Static Web Apps config file
"auth": {
"identityProviders": {
"azureActiveDirectory": {
"registration": {
"openIdIssuer": "https://login.microsoftonline.com/<TENANT_ID_REPLACE_THIS>/v2.0",
"clientIdSettingName": "AZURE_CLIENT_ID",
"clientSecretSettingName": "AZURE_CLIENT_SECRET"
}
}
}
}
{
"route": "/data-api/*",
"allowedRoles": ["anonymous","authenticated"]
}
{
"route": "/data-api/*",
"allowedRoles": ["anonymous","authenticated", "samplerole"]
}Example config file (For reference only): {
"routes": [
{
"route": "/authenticated/*",
"allowedRoles": [
"authenticated"
]
},
{
"route": "/data-api/*",
"allowedRoles": [
"anonymous",
"authenticated"
]
}
],
"auth": {
"identityProviders": {
"azureActiveDirectory": {
"registration": {
"openIdIssuer": "https://login.microsoftonline.com/<TENANT_ID_REPLACE_THIS>/v2.0",
"clientIdSettingName": "AZURE_CLIENT_ID",
"clientSecretSettingName": "AZURE_CLIENT_SECRET"
}
}
}
}
} |
|
I am encountering this issue using the free tier of Azure Static Web Apps. The solution identified in this thread by Sean Leonard (@seantleonard) evidently applies only to the Standard tier of Static Web Apps which supports custom authentication utilizing the Is authenticated, role-based access to the database supported when using the free tier of Static Web Apps? If so, what is the equivalent solution for the free tier? |
|
I am encountering the same issue. When I am using the SWA CLI emulator locally I can only authenticate my request by using this authentication to my dab.config.json file.: If I instead change it to it is not able to authenticate my request. When I am trying to follow the accepted answer from Sean Leonard (@seantleonard) by adding the routing to my staticwebapp.config.json file I am not able to authenticate either in the emulator or in my preview environment. I have setup my authentication following this guide: https://learn.microsoft.com/en-us/azure/data-api-builder/authentication-azure-ad If I set the role to anonymous it is working both in my SWA CLI and in my SWA preview environment. This is how my staticwebapp.config.json looks like: And this is my dab.config.json: All the different roles in both the dab.config.json and swa.config.json is for testing purposes. I am also considering to change the hosting to Container Apps/Instances instead but would prefer to have it working through SWA. |
Hi Muhammad Shafiq (@mshafiqmk) ,
When using DAB with Static Web Apps (Database Connections feature), DAB configuration (for Static Web Apps, this file may be named
staticwebapp.database.config.json) and DAB's config should use the following authentication config per this doc snippet:From Static Web Apps, you can then configure authentication providers like Azure AD. Step by step found here: https://learn.microsoft.com/azure/static-web-apps/authentication-authorization
For convenience, these were the steps I had used to create my own working SWA+DAB environment.
The following changes should be made in your Static Web Apps config file
s…