Share via


Microsoft.Web sites/config 'authsettings'

Choose a deployment language

Bicep resource definition

The sites/config resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Options for name property

The sites/config resource accepts different properties based on the value of the name property. This article shows the properties that are available when you set name: 'authsettings'.

For other options, see:

Resource format

To create a Microsoft.Web/sites/config resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Web/sites/config@2022-09-01' = {
  name: 'authsettings'
  kind: 'string'
  parent: resourceSymbolicName
  properties: {
    aadClaimsAuthorization: 'string'
    additionalLoginParams: [
      'string'
    ]
    allowedAudiences: [
      'string'
    ]
    allowedExternalRedirectUrls: [
      'string'
    ]
    authFilePath: 'string'
    clientId: 'string'
    clientSecret: 'string'
    clientSecretCertificateThumbprint: 'string'
    clientSecretSettingName: 'string'
    configVersion: 'string'
    defaultProvider: 'string'
    enabled: bool
    facebookAppId: 'string'
    facebookAppSecret: 'string'
    facebookAppSecretSettingName: 'string'
    facebookOAuthScopes: [
      'string'
    ]
    gitHubClientId: 'string'
    gitHubClientSecret: 'string'
    gitHubClientSecretSettingName: 'string'
    gitHubOAuthScopes: [
      'string'
    ]
    googleClientId: 'string'
    googleClientSecret: 'string'
    googleClientSecretSettingName: 'string'
    googleOAuthScopes: [
      'string'
    ]
    isAuthFromFile: 'string'
    issuer: 'string'
    microsoftAccountClientId: 'string'
    microsoftAccountClientSecret: 'string'
    microsoftAccountClientSecretSettingName: 'string'
    microsoftAccountOAuthScopes: [
      'string'
    ]
    runtimeVersion: 'string'
    tokenRefreshExtensionHours: int
    tokenStoreEnabled: bool
    twitterConsumerKey: 'string'
    twitterConsumerSecret: 'string'
    twitterConsumerSecretSettingName: 'string'
    unauthenticatedClientAction: 'string'
    validateIssuer: bool
  }
}

Property values

sites/config-authsettings

Name Description Value
name The resource name

See how to set names and types for child resources in Bicep.
'authsettings'
kind Kind of resource. string
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: sites
properties SiteAuthSettings resource specific properties SiteAuthSettingsProperties

SiteAuthSettingsProperties

Name Description Value
aadClaimsAuthorization Gets a JSON string containing the Azure AD Acl settings. string
additionalLoginParams Login parameters to send to the OpenID Connect authorization endpoint when
a user logs in. Each parameter must be in the form "key=value".
string[]
allowedAudiences Allowed audience values to consider when validating JSON Web Tokens issued by
Azure Active Directory. Note that the ClientID value is always considered an
allowed audience, regardless of this setting.
string[]
allowedExternalRedirectUrls External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
This is an advanced setting typically only needed by Windows Store application backends.
Note that URLs within the current domain are always implicitly allowed.
string[]
authFilePath The path of the config file containing auth settings.
If the path is relative, base will the site's root directory.
string
clientId The Client ID of this relying party application, known as the client_id.
This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
other 3rd party OpenID Connect providers.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecret The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key).
This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users.
Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecretCertificateThumbprint An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret. It is also optional.
string
clientSecretSettingName The app setting name that contains the client secret of the relying party application. string
configVersion The ConfigVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of the control plane for Authentication / Authorization.
string
defaultProvider The default authentication provider to use when multiple providers are configured.
This setting is only needed if multiple providers are configured and the unauthenticated client
action is set to "RedirectToLoginPage".
'AzureActiveDirectory'
'Facebook'
'Github'
'Google'
'MicrosoftAccount'
'Twitter'
enabled true if the Authentication / Authorization feature is enabled for the current app; otherwise, false. bool
facebookAppId The App ID of the Facebook app used for login.
This setting is required for enabling Facebook Login.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string
facebookAppSecret The App Secret of the Facebook app used for Facebook Login.
This setting is required for enabling Facebook Login.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string
facebookAppSecretSettingName The app setting name that contains the app secret used for Facebook Login. string
facebookOAuthScopes The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication.
This setting is optional.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string[]
gitHubClientId The Client Id of the GitHub app used for login.
This setting is required for enabling Github login
string
gitHubClientSecret The Client Secret of the GitHub app used for Github Login.
This setting is required for enabling Github login.
string
gitHubClientSecretSettingName The app setting name that contains the client secret of the Github
app used for GitHub Login.
string
gitHubOAuthScopes The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
This setting is optional
string[]
googleClientId The OpenID Connect Client ID for the Google web application.
This setting is required for enabling Google Sign-In.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string
googleClientSecret The client secret associated with the Google web application.
This setting is required for enabling Google Sign-In.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string
googleClientSecretSettingName The app setting name that contains the client secret associated with
the Google web application.
string
googleOAuthScopes The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication.
This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string[]
isAuthFromFile "true" if the auth config settings should be read from a file,
"false" otherwise
string
issuer The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
This URI is a case-sensitive identifier for the token issuer.
More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
string
microsoftAccountClientId The OAuth 2.0 client ID that was created for the app used for authentication.
This setting is required for enabling Microsoft Account authentication.
Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
string
microsoftAccountClientSecret The OAuth 2.0 client secret that was created for the app used for authentication.
This setting is required for enabling Microsoft Account authentication.
Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
string
microsoftAccountClientSecretSettingName The app setting name containing the OAuth 2.0 client secret that was created for the
app used for authentication.
string
microsoftAccountOAuthScopes The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.
This setting is optional. If not specified, "wl.basic" is used as the default scope.
Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/library/dn631845.aspx
string[]
runtimeVersion The RuntimeVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of certain features in the Authentication / Authorization module.
string
tokenRefreshExtensionHours The number of hours after session token expiration that a session token can be used to
call the token refresh API. The default is 72 hours.
int
tokenStoreEnabled true to durably store platform-specific security tokens that are obtained during login flows; otherwise, false.
The default is false.
bool
twitterConsumerKey The OAuth 1.0a consumer key of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
twitterConsumerSecret The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
twitterConsumerSecretSettingName The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
application used for sign-in.
string
unauthenticatedClientAction The action to take when an unauthenticated client attempts to access the app. 'AllowAnonymous'
'RedirectToLoginPage'
validateIssuer Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such. bool

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Airflow Web App with PostgreSQL database on App Services

Deploy to Azure
A template for deploying Airflow Web App with PostgreSQL database on App Services
EPiserverCMS in Azure

Deploy to Azure
This template allows you to create resources required for EpiServerCMS deployment in Azure
Java CI/CD using Jenkins and Azure Web Apps

Deploy to Azure
This is a sample for Java CI/CD using Jenkins and Azure Web Apps.
Orchard CMS Video Portal Web App

Deploy to Azure
This template provides a easy way to deploy Orchard CMS on Azure App Service Web Apps with the Azure Media Services module enabled and configured.
PubNub Realtime Gateway for Azure Event Hubs

Deploy to Azure
The PubNub Realtime Gateway for Azure provides a realtime data stream bridge between the PubNub Data Stream Network and Azure Event Hubs. -- consider it a bi-directional bridge between PubNub and Azure!
Scalable Umbraco CMS Web App

Deploy to Azure
This template provides a easy way to deploy umbraco CMS web app on Azure App Service Web Apps.
Simple Umbraco CMS Web App

Deploy to Azure
This template provides a easy way to deploy umbraco CMS web app on Azure App Service Web Apps.
WordPress on App Service with MySQL In App

Deploy to Azure
This template deploys a WordPress Web App on a Windows App Service with MySQL in app
Enterprise Governance-AppService, SQL DB, AD, OMS, Runbooks

Deploy to Azure
Cloud adoption for an Enterprise, small or large, require responsible and efficient governance models to derive value from their cloud deployments. CloudWise (a code-name for the solution), is a composite solution available from Azure Partner QuickStarts, is an adoption enabler for Customers, System Integrators and Partners alike, that delivers a self-serviceable, automated governance and operations solution, focused on Optimizing Your Costs, Improve Your Application(s) Reliability, Reducing Business Risk. The solution highlights the core governance pillars of Visibility and Control.
WebApp consuming a Azure SQL Private Endpoint

Deploy to Azure
This template shows how to create a Web app that consumes a private endpoint pointing to Azure SQL Server
Moesif API Analytics and Monetization

Deploy to Azure
The template will log API calls from Azure API Management to Moesif API analytics and monetization platform
Call custom APIs from Azure Logic Apps

Deploy to Azure
Although Logic Apps provides hundreds of connectors for various services, you might want to call APIs that run your own code. One of the easiest and most scalable ways to host your own web APIs is by using Azure App Service. This template deploys a Web app for your custom API and secures that API by using Azure Active Directory authentication.
Application Gateway for a Web App with IP Restriction

Deploy to Azure
This template creates an application gateway in front of an Azure Web App with IP restriction enabled on the Web App.
App Service Environment with Azure SQL backend

Deploy to Azure
This template creates an App Service Environment with an Azure SQL backend along with private endpoints along with associated resources typically used in an private/isolated environment.
Provision a function app running on an App Service Plan

Deploy to Azure
This template provisions a function app on a dedicated hosting plan, meaning it will be run and billed just like any App Service site.
Azure Function App with Event Hub and Managed Identity

Deploy to Azure
his template provisions an Azure Function app on a Linux Consumption plan, along with an Event Hub, Azure Storage, and Application Insights. The function app is able to use managed identity to connect to the Event Hub and Storage account
Deploy an Azure Function Premium plan with vnet integration

Deploy to Azure
This template allows you to deploy an Azure Function Premium plan with regional virtual network integration enabled to a newly created virtual network.
Provision a Mobile App with a SQL Database

Deploy to Azure
This template provisions a Mobile App, SQL Database, and Notification Hub. It configures a connection string in the mobile app for the database and notification hub.
Web App with Private Endpoint

Deploy to Azure
This template allows you to create a Web App and expose it through Private Endpoint
Application Gateway with internal API Management and Web App

Deploy to Azure
Application Gateway routing Internet traffic to a virtual network (internal mode) API Management instance which services a web API hosted in an Azure Web App.
Create Azure Web app with Blob Storage connection string

Deploy to Azure
Creates an Azure Web app with Blob Storage connection string, Template originally authored by Jeff Bowles of Microsoft
Web App with diagnostics logging to Blob Container

Deploy to Azure
Deploy a Web App with diagnostics logging to Storage Account Blob Container enabled.
Create a web app on Azure with Java 13 and Tomcat 9 enabled

Deploy to Azure
This template creates a web app on azure with Java 13 and Tomcat 9 enabled allowing you to run Java applications in Azure. Template was authored by Donovan Brown of Microsoft.
Web App w/ Application Insights sending to Log Analytics

Deploy to Azure
This template will is to help support the new API versions of microsoft.insights/components. Starting with 2020-02-02-preview WorkspaceID will be required when creating Application Inisghts.This template will deploy the App Service Plan, App Service, Application Insights, Log Analytics Workspace and hook it all together.
Web App with Managed Identity, SQL Server and ΑΙ

Deploy to Azure
Simple example to deploy Azure infrastructure for app + data + managed identity + monitoring
Create a Web App + Redis Cache + SQL DB with a template

Deploy to Azure
This template creates an Azure Web App with Redis cache and a SQL Database.
Provision a Web App with a SQL Database

Deploy to Azure
This template provisions a Web App, a SQL Database, AutoScale settings, Alert rules, and App Insights. It configures a connection string in the web app for the database.
Create a Web App plus Redis Cache using a template

Deploy to Azure
This template creates an Azure Web App with Redis cache.
Web App with custom Deployment slots

Deploy to Azure
This template provides an easy way to deploy a web app with custom deployment slots on Azure Web Apps.
Airflow Docker Web App on Linux with PostgreSQL

Deploy to Azure
This template provides a easy way to deploy a puckel/docker-airflow image (latest tag) on a Linux Web App with Azure database for PostgreSQL
Sonarqube Docker Web App on Linux with Azure SQL

Deploy to Azure
This template deploys Sonarqube in an Azure App Service web app Linux container using the official Sonarqube image and backed by an Azure SQL Server.
Sonarqube Docker Web App on Linux with MySQL

Deploy to Azure
This template provides a easy way to deploy a Sonarqube docker image (alpine tag) on a Linux Web App with Azure database for MySQL
Sonarqube Docker Web App on Linux with PostgreSQL

Deploy to Azure
This template provides a easy way to deploy a Sonarqube docker image (alpine tag) on a Linux Web App with Azure database for PostgreSQL(Preview)
Web App with Azure database for MySQL

Deploy to Azure
This template provides a easy way to deploy web app on Azure App Service Web Apps with Azure database for MySQL.
Web App on Linux with PostgreSQL

Deploy to Azure
This template provides a easy way to deploy Web App on Linux with Azure database for PostgreSQL.
Web App with VNet Injection and Private Endpoint

Deploy to Azure
This template allows you to create a secure end to end solution with two web apps, front end and back end, front end will consume securely the back through VNet injection and Private Endpoint

ARM template resource definition

The sites/config resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Options for name property

The sites/config resource accepts different properties based on the value of the name property. This article shows the properties that are available when you set name: 'authsettings'.

For other options, see:

Resource format

To create a Microsoft.Web/sites/config resource, add the following JSON to your template.

{
  "type": "Microsoft.Web/sites/config",
  "apiVersion": "2022-09-01",
  "name": "authsettings",
  "kind": "string",
  "properties": {
    "aadClaimsAuthorization": "string",
    "additionalLoginParams": [ "string" ],
    "allowedAudiences": [ "string" ],
    "allowedExternalRedirectUrls": [ "string" ],
    "authFilePath": "string",
    "clientId": "string",
    "clientSecret": "string",
    "clientSecretCertificateThumbprint": "string",
    "clientSecretSettingName": "string",
    "configVersion": "string",
    "defaultProvider": "string",
    "enabled": "bool",
    "facebookAppId": "string",
    "facebookAppSecret": "string",
    "facebookAppSecretSettingName": "string",
    "facebookOAuthScopes": [ "string" ],
    "gitHubClientId": "string",
    "gitHubClientSecret": "string",
    "gitHubClientSecretSettingName": "string",
    "gitHubOAuthScopes": [ "string" ],
    "googleClientId": "string",
    "googleClientSecret": "string",
    "googleClientSecretSettingName": "string",
    "googleOAuthScopes": [ "string" ],
    "isAuthFromFile": "string",
    "issuer": "string",
    "microsoftAccountClientId": "string",
    "microsoftAccountClientSecret": "string",
    "microsoftAccountClientSecretSettingName": "string",
    "microsoftAccountOAuthScopes": [ "string" ],
    "runtimeVersion": "string",
    "tokenRefreshExtensionHours": "int",
    "tokenStoreEnabled": "bool",
    "twitterConsumerKey": "string",
    "twitterConsumerSecret": "string",
    "twitterConsumerSecretSettingName": "string",
    "unauthenticatedClientAction": "string",
    "validateIssuer": "bool"
  }
}

Property values

sites/config-authsettings

Name Description Value
type The resource type 'Microsoft.Web/sites/config'
apiVersion The resource api version '2022-09-01'
name The resource name

See how to set names and types for child resources in JSON ARM templates.
'authsettings'
kind Kind of resource. string
properties SiteAuthSettings resource specific properties SiteAuthSettingsProperties

SiteAuthSettingsProperties

Name Description Value
aadClaimsAuthorization Gets a JSON string containing the Azure AD Acl settings. string
additionalLoginParams Login parameters to send to the OpenID Connect authorization endpoint when
a user logs in. Each parameter must be in the form "key=value".
string[]
allowedAudiences Allowed audience values to consider when validating JSON Web Tokens issued by
Azure Active Directory. Note that the ClientID value is always considered an
allowed audience, regardless of this setting.
string[]
allowedExternalRedirectUrls External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
This is an advanced setting typically only needed by Windows Store application backends.
Note that URLs within the current domain are always implicitly allowed.
string[]
authFilePath The path of the config file containing auth settings.
If the path is relative, base will the site's root directory.
string
clientId The Client ID of this relying party application, known as the client_id.
This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
other 3rd party OpenID Connect providers.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecret The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key).
This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users.
Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecretCertificateThumbprint An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret. It is also optional.
string
clientSecretSettingName The app setting name that contains the client secret of the relying party application. string
configVersion The ConfigVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of the control plane for Authentication / Authorization.
string
defaultProvider The default authentication provider to use when multiple providers are configured.
This setting is only needed if multiple providers are configured and the unauthenticated client
action is set to "RedirectToLoginPage".
'AzureActiveDirectory'
'Facebook'
'Github'
'Google'
'MicrosoftAccount'
'Twitter'
enabled true if the Authentication / Authorization feature is enabled for the current app; otherwise, false. bool
facebookAppId The App ID of the Facebook app used for login.
This setting is required for enabling Facebook Login.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string
facebookAppSecret The App Secret of the Facebook app used for Facebook Login.
This setting is required for enabling Facebook Login.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string
facebookAppSecretSettingName The app setting name that contains the app secret used for Facebook Login. string
facebookOAuthScopes The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication.
This setting is optional.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string[]
gitHubClientId The Client Id of the GitHub app used for login.
This setting is required for enabling Github login
string
gitHubClientSecret The Client Secret of the GitHub app used for Github Login.
This setting is required for enabling Github login.
string
gitHubClientSecretSettingName The app setting name that contains the client secret of the Github
app used for GitHub Login.
string
gitHubOAuthScopes The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
This setting is optional
string[]
googleClientId The OpenID Connect Client ID for the Google web application.
This setting is required for enabling Google Sign-In.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string
googleClientSecret The client secret associated with the Google web application.
This setting is required for enabling Google Sign-In.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string
googleClientSecretSettingName The app setting name that contains the client secret associated with
the Google web application.
string
googleOAuthScopes The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication.
This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string[]
isAuthFromFile "true" if the auth config settings should be read from a file,
"false" otherwise
string
issuer The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
This URI is a case-sensitive identifier for the token issuer.
More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
string
microsoftAccountClientId The OAuth 2.0 client ID that was created for the app used for authentication.
This setting is required for enabling Microsoft Account authentication.
Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
string
microsoftAccountClientSecret The OAuth 2.0 client secret that was created for the app used for authentication.
This setting is required for enabling Microsoft Account authentication.
Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
string
microsoftAccountClientSecretSettingName The app setting name containing the OAuth 2.0 client secret that was created for the
app used for authentication.
string
microsoftAccountOAuthScopes The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.
This setting is optional. If not specified, "wl.basic" is used as the default scope.
Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/library/dn631845.aspx
string[]
runtimeVersion The RuntimeVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of certain features in the Authentication / Authorization module.
string
tokenRefreshExtensionHours The number of hours after session token expiration that a session token can be used to
call the token refresh API. The default is 72 hours.
int
tokenStoreEnabled true to durably store platform-specific security tokens that are obtained during login flows; otherwise, false.
The default is false.
bool
twitterConsumerKey The OAuth 1.0a consumer key of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
twitterConsumerSecret The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
twitterConsumerSecretSettingName The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
application used for sign-in.
string
unauthenticatedClientAction The action to take when an unauthenticated client attempts to access the app. 'AllowAnonymous'
'RedirectToLoginPage'
validateIssuer Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such. bool

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Airflow Web App with PostgreSQL database on App Services

Deploy to Azure
A template for deploying Airflow Web App with PostgreSQL database on App Services
EPiserverCMS in Azure

Deploy to Azure
This template allows you to create resources required for EpiServerCMS deployment in Azure
Java CI/CD using Jenkins and Azure Web Apps

Deploy to Azure
This is a sample for Java CI/CD using Jenkins and Azure Web Apps.
Orchard CMS Video Portal Web App

Deploy to Azure
This template provides a easy way to deploy Orchard CMS on Azure App Service Web Apps with the Azure Media Services module enabled and configured.
PubNub Realtime Gateway for Azure Event Hubs

Deploy to Azure
The PubNub Realtime Gateway for Azure provides a realtime data stream bridge between the PubNub Data Stream Network and Azure Event Hubs. -- consider it a bi-directional bridge between PubNub and Azure!
Scalable Umbraco CMS Web App

Deploy to Azure
This template provides a easy way to deploy umbraco CMS web app on Azure App Service Web Apps.
Simple Umbraco CMS Web App

Deploy to Azure
This template provides a easy way to deploy umbraco CMS web app on Azure App Service Web Apps.
WordPress on App Service with MySQL In App

Deploy to Azure
This template deploys a WordPress Web App on a Windows App Service with MySQL in app
Enterprise Governance-AppService, SQL DB, AD, OMS, Runbooks

Deploy to Azure
Cloud adoption for an Enterprise, small or large, require responsible and efficient governance models to derive value from their cloud deployments. CloudWise (a code-name for the solution), is a composite solution available from Azure Partner QuickStarts, is an adoption enabler for Customers, System Integrators and Partners alike, that delivers a self-serviceable, automated governance and operations solution, focused on Optimizing Your Costs, Improve Your Application(s) Reliability, Reducing Business Risk. The solution highlights the core governance pillars of Visibility and Control.
WebApp consuming a Azure SQL Private Endpoint

Deploy to Azure
This template shows how to create a Web app that consumes a private endpoint pointing to Azure SQL Server
Moesif API Analytics and Monetization

Deploy to Azure
The template will log API calls from Azure API Management to Moesif API analytics and monetization platform
Call custom APIs from Azure Logic Apps

Deploy to Azure
Although Logic Apps provides hundreds of connectors for various services, you might want to call APIs that run your own code. One of the easiest and most scalable ways to host your own web APIs is by using Azure App Service. This template deploys a Web app for your custom API and secures that API by using Azure Active Directory authentication.
Application Gateway for a Web App with IP Restriction

Deploy to Azure
This template creates an application gateway in front of an Azure Web App with IP restriction enabled on the Web App.
App Service Environment with Azure SQL backend

Deploy to Azure
This template creates an App Service Environment with an Azure SQL backend along with private endpoints along with associated resources typically used in an private/isolated environment.
Provision a function app running on an App Service Plan

Deploy to Azure
This template provisions a function app on a dedicated hosting plan, meaning it will be run and billed just like any App Service site.
Azure Function App with Event Hub and Managed Identity

Deploy to Azure
his template provisions an Azure Function app on a Linux Consumption plan, along with an Event Hub, Azure Storage, and Application Insights. The function app is able to use managed identity to connect to the Event Hub and Storage account
Deploy an Azure Function Premium plan with vnet integration

Deploy to Azure
This template allows you to deploy an Azure Function Premium plan with regional virtual network integration enabled to a newly created virtual network.
Provision a Mobile App with a SQL Database

Deploy to Azure
This template provisions a Mobile App, SQL Database, and Notification Hub. It configures a connection string in the mobile app for the database and notification hub.
Web App with Private Endpoint

Deploy to Azure
This template allows you to create a Web App and expose it through Private Endpoint
Application Gateway with internal API Management and Web App

Deploy to Azure
Application Gateway routing Internet traffic to a virtual network (internal mode) API Management instance which services a web API hosted in an Azure Web App.
Create Azure Web app with Blob Storage connection string

Deploy to Azure
Creates an Azure Web app with Blob Storage connection string, Template originally authored by Jeff Bowles of Microsoft
Web App with diagnostics logging to Blob Container

Deploy to Azure
Deploy a Web App with diagnostics logging to Storage Account Blob Container enabled.
Create a web app on Azure with Java 13 and Tomcat 9 enabled

Deploy to Azure
This template creates a web app on azure with Java 13 and Tomcat 9 enabled allowing you to run Java applications in Azure. Template was authored by Donovan Brown of Microsoft.
Web App w/ Application Insights sending to Log Analytics

Deploy to Azure
This template will is to help support the new API versions of microsoft.insights/components. Starting with 2020-02-02-preview WorkspaceID will be required when creating Application Inisghts.This template will deploy the App Service Plan, App Service, Application Insights, Log Analytics Workspace and hook it all together.
Web App with Managed Identity, SQL Server and ΑΙ

Deploy to Azure
Simple example to deploy Azure infrastructure for app + data + managed identity + monitoring
Create a Web App + Redis Cache + SQL DB with a template

Deploy to Azure
This template creates an Azure Web App with Redis cache and a SQL Database.
Provision a Web App with a SQL Database

Deploy to Azure
This template provisions a Web App, a SQL Database, AutoScale settings, Alert rules, and App Insights. It configures a connection string in the web app for the database.
Create a Web App plus Redis Cache using a template

Deploy to Azure
This template creates an Azure Web App with Redis cache.
Web App with custom Deployment slots

Deploy to Azure
This template provides an easy way to deploy a web app with custom deployment slots on Azure Web Apps.
Airflow Docker Web App on Linux with PostgreSQL

Deploy to Azure
This template provides a easy way to deploy a puckel/docker-airflow image (latest tag) on a Linux Web App with Azure database for PostgreSQL
Sonarqube Docker Web App on Linux with Azure SQL

Deploy to Azure
This template deploys Sonarqube in an Azure App Service web app Linux container using the official Sonarqube image and backed by an Azure SQL Server.
Sonarqube Docker Web App on Linux with MySQL

Deploy to Azure
This template provides a easy way to deploy a Sonarqube docker image (alpine tag) on a Linux Web App with Azure database for MySQL
Sonarqube Docker Web App on Linux with PostgreSQL

Deploy to Azure
This template provides a easy way to deploy a Sonarqube docker image (alpine tag) on a Linux Web App with Azure database for PostgreSQL(Preview)
Web App with Azure database for MySQL

Deploy to Azure
This template provides a easy way to deploy web app on Azure App Service Web Apps with Azure database for MySQL.
Web App on Linux with PostgreSQL

Deploy to Azure
This template provides a easy way to deploy Web App on Linux with Azure database for PostgreSQL.
Web App with VNet Injection and Private Endpoint

Deploy to Azure
This template allows you to create a secure end to end solution with two web apps, front end and back end, front end will consume securely the back through VNet injection and Private Endpoint

Terraform (AzAPI provider) resource definition

The sites/config resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Options for name property

The sites/config resource accepts different properties based on the value of the name property. This article shows the properties that are available when you set name: 'authsettings'.

For other options, see:

Resource format

To create a Microsoft.Web/sites/config resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Web/sites/config@2022-09-01"
  name = "authsettings"
  parent_id = "string"
  body = jsonencode({
    properties = {
      aadClaimsAuthorization = "string"
      additionalLoginParams = [
        "string"
      ]
      allowedAudiences = [
        "string"
      ]
      allowedExternalRedirectUrls = [
        "string"
      ]
      authFilePath = "string"
      clientId = "string"
      clientSecret = "string"
      clientSecretCertificateThumbprint = "string"
      clientSecretSettingName = "string"
      configVersion = "string"
      defaultProvider = "string"
      enabled = bool
      facebookAppId = "string"
      facebookAppSecret = "string"
      facebookAppSecretSettingName = "string"
      facebookOAuthScopes = [
        "string"
      ]
      gitHubClientId = "string"
      gitHubClientSecret = "string"
      gitHubClientSecretSettingName = "string"
      gitHubOAuthScopes = [
        "string"
      ]
      googleClientId = "string"
      googleClientSecret = "string"
      googleClientSecretSettingName = "string"
      googleOAuthScopes = [
        "string"
      ]
      isAuthFromFile = "string"
      issuer = "string"
      microsoftAccountClientId = "string"
      microsoftAccountClientSecret = "string"
      microsoftAccountClientSecretSettingName = "string"
      microsoftAccountOAuthScopes = [
        "string"
      ]
      runtimeVersion = "string"
      tokenRefreshExtensionHours = int
      tokenStoreEnabled = bool
      twitterConsumerKey = "string"
      twitterConsumerSecret = "string"
      twitterConsumerSecretSettingName = "string"
      unauthenticatedClientAction = "string"
      validateIssuer = bool
    }
    kind = "string"
  })
}

Property values

sites/config-authsettings

Name Description Value
type The resource type "Microsoft.Web/sites/config@2022-09-01"
name The resource name "authsettings"
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: sites
kind Kind of resource. string
properties SiteAuthSettings resource specific properties SiteAuthSettingsProperties

SiteAuthSettingsProperties

Name Description Value
aadClaimsAuthorization Gets a JSON string containing the Azure AD Acl settings. string
additionalLoginParams Login parameters to send to the OpenID Connect authorization endpoint when
a user logs in. Each parameter must be in the form "key=value".
string[]
allowedAudiences Allowed audience values to consider when validating JSON Web Tokens issued by
Azure Active Directory. Note that the ClientID value is always considered an
allowed audience, regardless of this setting.
string[]
allowedExternalRedirectUrls External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
This is an advanced setting typically only needed by Windows Store application backends.
Note that URLs within the current domain are always implicitly allowed.
string[]
authFilePath The path of the config file containing auth settings.
If the path is relative, base will the site's root directory.
string
clientId The Client ID of this relying party application, known as the client_id.
This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
other 3rd party OpenID Connect providers.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecret The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key).
This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users.
Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecretCertificateThumbprint An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret. It is also optional.
string
clientSecretSettingName The app setting name that contains the client secret of the relying party application. string
configVersion The ConfigVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of the control plane for Authentication / Authorization.
string
defaultProvider The default authentication provider to use when multiple providers are configured.
This setting is only needed if multiple providers are configured and the unauthenticated client
action is set to "RedirectToLoginPage".
"AzureActiveDirectory"
"Facebook"
"Github"
"Google"
"MicrosoftAccount"
"Twitter"
enabled true if the Authentication / Authorization feature is enabled for the current app; otherwise, false. bool
facebookAppId The App ID of the Facebook app used for login.
This setting is required for enabling Facebook Login.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string
facebookAppSecret The App Secret of the Facebook app used for Facebook Login.
This setting is required for enabling Facebook Login.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string
facebookAppSecretSettingName The app setting name that contains the app secret used for Facebook Login. string
facebookOAuthScopes The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication.
This setting is optional.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string[]
gitHubClientId The Client Id of the GitHub app used for login.
This setting is required for enabling Github login
string
gitHubClientSecret The Client Secret of the GitHub app used for Github Login.
This setting is required for enabling Github login.
string
gitHubClientSecretSettingName The app setting name that contains the client secret of the Github
app used for GitHub Login.
string
gitHubOAuthScopes The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
This setting is optional
string[]
googleClientId The OpenID Connect Client ID for the Google web application.
This setting is required for enabling Google Sign-In.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string
googleClientSecret The client secret associated with the Google web application.
This setting is required for enabling Google Sign-In.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string
googleClientSecretSettingName The app setting name that contains the client secret associated with
the Google web application.
string
googleOAuthScopes The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication.
This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string[]
isAuthFromFile "true" if the auth config settings should be read from a file,
"false" otherwise
string
issuer The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
This URI is a case-sensitive identifier for the token issuer.
More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
string
microsoftAccountClientId The OAuth 2.0 client ID that was created for the app used for authentication.
This setting is required for enabling Microsoft Account authentication.
Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
string
microsoftAccountClientSecret The OAuth 2.0 client secret that was created for the app used for authentication.
This setting is required for enabling Microsoft Account authentication.
Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
string
microsoftAccountClientSecretSettingName The app setting name containing the OAuth 2.0 client secret that was created for the
app used for authentication.
string
microsoftAccountOAuthScopes The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.
This setting is optional. If not specified, "wl.basic" is used as the default scope.
Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/library/dn631845.aspx
string[]
runtimeVersion The RuntimeVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of certain features in the Authentication / Authorization module.
string
tokenRefreshExtensionHours The number of hours after session token expiration that a session token can be used to
call the token refresh API. The default is 72 hours.
int
tokenStoreEnabled true to durably store platform-specific security tokens that are obtained during login flows; otherwise, false.
The default is false.
bool
twitterConsumerKey The OAuth 1.0a consumer key of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
twitterConsumerSecret The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
twitterConsumerSecretSettingName The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
application used for sign-in.
string
unauthenticatedClientAction The action to take when an unauthenticated client attempts to access the app. "AllowAnonymous"
"RedirectToLoginPage"
validateIssuer Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such. bool