Microsoft.Web sites/config 'authsettingsV2' 2021-01-01

The sites/config resource type can be deployed to: Resource groups.

To learn about resource group deployments, see Bicep or ARM template.

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: 'authsettingsV2'.

For other options, see:

Template format

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

resource symbolicname 'Microsoft.Web/sites/config@2021-01-01' = {
  name: 'authsettingsV2'
  kind: 'string'
  parent: parentSymbolicName
  properties: {
    globalValidation: {
      excludedPaths: [ 'string' ]
      redirectToProvider: 'string'
      requireAuthentication: bool
      unauthenticatedClientAction: 'string'
    }
    httpSettings: {
      forwardProxy: {
        convention: 'string'
        customHostHeaderName: 'string'
        customProtoHeaderName: 'string'
      }
      requireHttps: bool
      routes: {
        apiPrefix: 'string'
      }
    }
    identityProviders: {
      apple: {
        enabled: bool
        login: {
          scopes: [ 'string' ]
        }
        registration: {
          clientId: 'string'
          clientSecretSettingName: 'string'
        }
      }
      azureActiveDirectory: {
        enabled: bool
        isAutoProvisioned: bool
        login: {
          disableWWWAuthenticate: bool
          loginParameters: [ 'string' ]
        }
        registration: {
          clientId: 'string'
          clientSecretCertificateIssuer: 'string'
          clientSecretCertificateSubjectAlternativeName: 'string'
          clientSecretCertificateThumbprint: 'string'
          clientSecretSettingName: 'string'
          openIdIssuer: 'string'
        }
        validation: {
          allowedAudiences: [ 'string' ]
          jwtClaimChecks: {
            allowedClientApplications: [ 'string' ]
            allowedGroups: [ 'string' ]
          }
        }
      }
      azureStaticWebApps: {
        enabled: bool
        registration: {
          clientId: 'string'
        }
      }
      customOpenIdConnectProviders: {}
      facebook: {
        enabled: bool
        graphApiVersion: 'string'
        login: {
          scopes: [ 'string' ]
        }
        registration: {
          appId: 'string'
          appSecretSettingName: 'string'
        }
      }
      gitHub: {
        enabled: bool
        login: {
          scopes: [ 'string' ]
        }
        registration: {
          clientId: 'string'
          clientSecretSettingName: 'string'
        }
      }
      google: {
        enabled: bool
        login: {
          scopes: [ 'string' ]
        }
        registration: {
          clientId: 'string'
          clientSecretSettingName: 'string'
        }
        validation: {
          allowedAudiences: [ 'string' ]
        }
      }
      legacyMicrosoftAccount: {
        enabled: bool
        login: {
          scopes: [ 'string' ]
        }
        registration: {
          clientId: 'string'
          clientSecretSettingName: 'string'
        }
        validation: {
          allowedAudiences: [ 'string' ]
        }
      }
      twitter: {
        enabled: bool
        registration: {
          consumerKey: 'string'
          consumerSecretSettingName: 'string'
        }
      }
    }
    login: {
      allowedExternalRedirectUrls: [ 'string' ]
      cookieExpiration: {
        convention: 'string'
        timeToExpiration: 'string'
      }
      nonce: {
        nonceExpirationInterval: 'string'
        validateNonce: bool
      }
      preserveUrlFragmentsForLogins: bool
      routes: {
        logoutEndpoint: 'string'
      }
      tokenStore: {
        azureBlobStorage: {
          sasUrlSettingName: 'string'
        }
        enabled: bool
        fileSystem: {
          directory: 'string'
        }
        tokenRefreshExtensionHours: int
      }
    }
    platform: {
      configFilePath: 'string'
      enabled: bool
      runtimeVersion: 'string'
    }
  }
}

Property values

sites/config-authsettingsV2

Name Description Value
type The resource type

For Bicep, set this value in the resource declaration.
'Microsoft.Web/sites/config'
apiVersion The resource api version

For Bicep, set this value in the resource declaration.
'2021-01-01'
name The resource name

See how to set names and types for child resources in Bicep or JSON ARM templates.
'authsettingsV2'
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.
parentSymbolicName
properties SiteAuthSettingsV2 resource specific properties SiteAuthSettingsV2Properties

SiteAuthSettingsV2Properties

Name Description Value
globalValidation The configuration settings that determines the validation flow of users using App Service Authentication/Authorization. GlobalValidation
httpSettings The configuration settings of the HTTP requests for authentication and authorization requests made against App Service Authentication/Authorization. HttpSettings
identityProviders The configuration settings of each of the identity providers used to configure App Service Authentication/Authorization. IdentityProviders
login The configuration settings of the login flow of users using App Service Authentication/Authorization. Login
platform The configuration settings of the platform of App Service Authentication/Authorization. AuthPlatform

GlobalValidation

Name Description Value
excludedPaths The paths for which unauthenticated flow would not be redirected to the login page. string[]
redirectToProvider 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".
string
requireAuthentication {code}true{/code} if the authentication flow is required any request is made; otherwise, {code}false{/code}. bool
unauthenticatedClientAction The action to take when an unauthenticated client attempts to access the app. 'AllowAnonymous'
'RedirectToLoginPage'
'Return401'
'Return403'

HttpSettings

Name Description Value
forwardProxy The configuration settings of a forward proxy used to make the requests. ForwardProxy
requireHttps {code}false{/code} if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, {code}true{/code}. bool
routes The configuration settings of the paths HTTP requests. HttpSettingsRoutes

ForwardProxy

Name Description Value
convention The convention used to determine the url of the request made. 'Custom'
'NoProxy'
'Standard'
customHostHeaderName The name of the header containing the host of the request. string
customProtoHeaderName The name of the header containing the scheme of the request. string

HttpSettingsRoutes

Name Description Value
apiPrefix The prefix that should precede all the authentication/authorization paths. string

IdentityProviders

Name Description Value
apple The configuration settings of the Apple provider. Apple
azureActiveDirectory The configuration settings of the Azure Active directory provider. AzureActiveDirectory
azureStaticWebApps The configuration settings of the Azure Static Web Apps provider. AzureStaticWebApps
customOpenIdConnectProviders The map of the name of the alias of each custom Open ID Connect provider to the
configuration settings of the custom Open ID Connect provider.
object
facebook The configuration settings of the Facebook provider. Facebook
gitHub The configuration settings of the GitHub provider. GitHub
google The configuration settings of the Google provider. Google
legacyMicrosoftAccount The configuration settings of the legacy Microsoft Account provider. LegacyMicrosoftAccount
twitter The configuration settings of the Twitter provider. Twitter

Apple

Name Description Value
enabled {code}false{/code} if the Apple provider should not be enabled despite the set registration; otherwise, {code}true{/code}. bool
login The configuration settings of the login flow, including the scopes that should be requested. LoginScopes
registration The configuration settings of the registration for the Apple provider AppleRegistration

LoginScopes

Name Description Value
scopes A list of the scopes that should be requested while authenticating. string[]

AppleRegistration

Name Description Value
clientId The Client ID of the app used for login. string
clientSecretSettingName The app setting name that contains the client secret. string

AzureActiveDirectory

Name Description Value
enabled {code}false{/code} if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, {code}true{/code}. bool
isAutoProvisioned Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party tooling.
This is an internal flag primarily intended to support the Azure Management Portal. Users should not
read or write to this property.
bool
login The configuration settings of the Azure Active Directory login flow. AzureActiveDirectoryLogin
registration The configuration settings of the Azure Active Directory app registration. AzureActiveDirectoryRegistration
validation The configuration settings of the Azure Active Directory token validation flow. AzureActiveDirectoryValidation

AzureActiveDirectoryLogin

Name Description Value
disableWWWAuthenticate {code}true{/code} if the www-authenticate provider should be omitted from the request; otherwise, {code}false{/code}. bool
loginParameters 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[]

AzureActiveDirectoryRegistration

Name Description Value
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
clientSecretCertificateIssuer An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret Certificate Thumbprint. It is also optional.
string
clientSecretCertificateSubjectAlternativeName An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret Certificate Thumbprint. It is also optional.
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
openIdIssuer 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://login.microsoftonline.com/v2.0/{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

AzureActiveDirectoryValidation

Name Description Value
allowedAudiences The list of audiences that can make successful authentication/authorization requests. string[]
jwtClaimChecks The configuration settings of the checks that should be made while validating the JWT Claims. JwtClaimChecks

JwtClaimChecks

Name Description Value
allowedClientApplications The list of the allowed client applications. string[]
allowedGroups The list of the allowed groups. string[]

AzureStaticWebApps

Name Description Value
enabled {code}false{/code} if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, {code}true{/code}. bool
registration The configuration settings of the registration for the Azure Static Web Apps provider AzureStaticWebAppsRegistration

AzureStaticWebAppsRegistration

Name Description Value
clientId The Client ID of the app used for login. string

Facebook

Name Description Value
enabled {code}false{/code} if the Facebook provider should not be enabled despite the set registration; otherwise, {code}true{/code}. bool
graphApiVersion The version of the Facebook api to be used while logging in. string
login The configuration settings of the login flow, including the scopes that should be requested. LoginScopes
registration The configuration settings of the app registration for providers that have app ids and app secrets AppRegistration

AppRegistration

Name Description Value
appId The App ID of the app used for login. string
appSecretSettingName The app setting name that contains the app secret. string

GitHub

Name Description Value
enabled {code}false{/code} if the GitHub provider should not be enabled despite the set registration; otherwise, {code}true{/code}. bool
login The configuration settings of the login flow, including the scopes that should be requested. LoginScopes
registration The configuration settings of the app registration for providers that have client ids and client secrets ClientRegistration

ClientRegistration

Name Description Value
clientId The Client ID of the app used for login. string
clientSecretSettingName The app setting name that contains the client secret. string

Google

Name Description Value
enabled {code}false{/code} if the Google provider should not be enabled despite the set registration; otherwise, {code}true{/code}. bool
login The configuration settings of the login flow, including the scopes that should be requested. LoginScopes
registration The configuration settings of the app registration for providers that have client ids and client secrets ClientRegistration
validation The configuration settings of the Allowed Audiences validation flow. AllowedAudiencesValidation

AllowedAudiencesValidation

Name Description Value
allowedAudiences The configuration settings of the allowed list of audiences from which to validate the JWT token. string[]

LegacyMicrosoftAccount

Name Description Value
enabled {code}false{/code} if the legacy Microsoft Account provider should not be enabled despite the set registration; otherwise, {code}true{/code}. bool
login The configuration settings of the login flow, including the scopes that should be requested. LoginScopes
registration The configuration settings of the app registration for providers that have client ids and client secrets ClientRegistration
validation The configuration settings of the Allowed Audiences validation flow. AllowedAudiencesValidation

Twitter

Name Description Value
enabled {code}false{/code} if the Twitter provider should not be enabled despite the set registration; otherwise, {code}true{/code}. bool
registration The configuration settings of the app registration for the Twitter provider. TwitterRegistration

TwitterRegistration

Name Description Value
consumerKey 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
consumerSecretSettingName The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
application used for sign-in.
string

Login

Name Description Value
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[]
cookieExpiration The configuration settings of the session cookie's expiration. CookieExpiration
nonce The configuration settings of the nonce used in the login flow. Nonce
preserveUrlFragmentsForLogins {code}true{/code} if the fragments from the request are preserved after the login request is made; otherwise, {code}false{/code}. bool
routes The routes that specify the endpoints used for login and logout requests. LoginRoutes
tokenStore The configuration settings of the token store. TokenStore

CookieExpiration

Name Description Value
convention The convention used when determining the session cookie's expiration. 'FixedTime'
'IdentityProviderDerived'
timeToExpiration The time after the request is made when the session cookie should expire. string

Nonce

Name Description Value
nonceExpirationInterval The time after the request is made when the nonce should expire. string
validateNonce {code}false{/code} if the nonce should not be validated while completing the login flow; otherwise, {code}true{/code}. bool

LoginRoutes

Name Description Value
logoutEndpoint The endpoint at which a logout request should be made. string

TokenStore

Name Description Value
azureBlobStorage The configuration settings of the storage of the tokens if blob storage is used. BlobStorageTokenStore
enabled {code}true{/code} to durably store platform-specific security tokens that are obtained during login flows; otherwise, {code}false{/code}.
The default is {code}false{/code}.
bool
fileSystem The configuration settings of the storage of the tokens if a file system is used. FileSystemTokenStore
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

BlobStorageTokenStore

Name Description Value
sasUrlSettingName The name of the app setting containing the SAS URL of the blob storage containing the tokens. string

FileSystemTokenStore

Name Description Value
directory The directory in which the tokens will be stored. string

AuthPlatform

Name Description Value
configFilePath The path of the config file containing auth settings if they come from a file.
If the path is relative, base will the site's root directory.
string
enabled {code}true{/code} if the Authentication / Authorization feature is enabled for the current app; otherwise, {code}false{/code}. bool
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

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
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 on a dedicated hosting 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. There are other templates available for provisioning on a dynamic hosting plan.
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
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.
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