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

The sites/slots/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/slots/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/slots/config resource, add the following Bicep or JSON to your template.

resource symbolicname 'Microsoft.Web/sites/slots/config@2021-01-15' = {
  name: 'authsettingsV2'
  kind: 'string'
  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/slots/config-authsettingsV2

Name Description Value
type The resource type

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

For Bicep, set this value in the resource declaration.
'2021-01-15'
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
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