Microsoft.Web sites/config authsettings template reference

Template format

To create a Microsoft.Web/sites/config resource for auth settings, add the following JSON to the resources section of your template.

{
  "name": "authsettings",
  "type": "Microsoft.Web/sites/config",
  "apiVersion": "2018-11-01",
  "properties": {
    "siteAuthSettings": {
        "enabled": "boolean",
        "runtimeVersion": "string",
        "unauthenticatedClientAction": "string",
        "tokenStoreEnabled": "boolean",
        "allowedExternalRedirectUrls": [
          "string"
        ],
        "defaultProvider": "string",
        "tokenRefreshExtensionHours": "integer",
        "clientId": "string",
        "clientSecret": "string",
        "clientSecretCertificateThumbprint": "string",
        "issuer": "string",
        "validateIssuer": "boolean",
        "allowedAudiences": [
           "string"
        ],
        "additionalLoginParams": [
           "string"
        ],
        "googleClientId": "string",
        "googleClientSecret": "string",
        "googleOAuthScopes": [
           "string"
        ],
        "facebookAppId": "string",
        "facebookAppSecret": "string",
        "facebookOAuthScopes": [
           "string"
        ],
        "twitterConsumerKey": "string",
        "twitterConsumerSecret": "string",
        "microsoftAccountClientId": "string",
        "microsoftAccountClientSecret": "string",
        "microsoftAccountOAuthScopes": "string"
    }
  }
}

Property values

The following tables describe the values you need to set in the schema.

Microsoft.Web/sites/config object

Name Type Required Value
name string Yes authsettings
type enum Yes Microsoft.Web/sites/config
apiVersion enum Yes 2018-11-01
properties object Yes Core resource properties - SiteAuthSettings object

SiteAuthSettings object

Name Type Required Value
enabled boolean No true if the Authentication / Authorization feature is enabled for the current app; otherwise, false.
runtimeVersion string No 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.
unauthenticatedClientAction enum No The action to take when an unauthenticated client attempts to access the app. - RedirectToLoginPage, AllowAnonymous
tokenStoreEnabled boolean No true to durably store platform-specific security tokens that are obtained during login flows; otherwise, false.

The default is false.
allowedExternalRedirectUrls array No 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.
defaultProvider enum No 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, Google, MicrosoftAccount, Twitter
tokenRefreshExtensionHours integer No 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.
clientId string No 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
clientSecret string No 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
clientSecretCertificateThumbprint string No 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.
issuer string No 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
validateIssuer boolean No Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such.
allowedAudiences array No Allowed audience values to consider when validating JWTs issued by
Azure Active Directory. Note that the ClientID value is always considered an
allowed audience, regardless of this setting.
additionalLoginParams array No Login parameters to send to the OpenID Connect authorization endpoint when
a user logs in. Each parameter must be in the form "key=value".
googleClientId string No 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/
googleClientSecret string No 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/
googleOAuthScopes array No 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/
facebookAppId string No 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
facebookAppSecret string No 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
facebookOAuthScopes array No 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
twitterConsumerKey string No 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
twitterConsumerSecret string No 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
microsoftAccountClientId string No 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
microsoftAccountClientSecret string No 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
microsoftAccountOAuthScopes array No 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/en-us/library/dn631845.aspx