你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.Web sites/config 'authsettingsV2'

Bicep 资源定义

可以使用面向以下操作部署站点/配置资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

名称属性的选项

sites/config 资源根据 name 属性的值接受不同的属性。 本文介绍设置 name: 'authsettingsV2'时可用的属性。

有关其他选项,请参阅:

资源格式

若要创建 Microsoft.Web/sites/config 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.Web/sites/config@2022-09-01' = {
  name: 'authsettingsV2'
  kind: 'string'
  parent: resourceSymbolicName
  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'
          ]
          defaultAuthorizationPolicy: {
            allowedApplications: [
              'string'
            ]
            allowedPrincipals: {
              groups: [
                'string'
              ]
              identities: [
                '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'
    }
  }
}

属性值

sites/config-authsettingsV2

名称 说明
name 资源名称

了解如何在 Bicep 中设置子资源的名称和类型。
“authsettingsV2”
kind 资源类型。 字符串
父级 (parent) 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。

有关详细信息,请参阅 父资源之外的子资源
类型为:sites 的资源的符号名称
properties SiteAuthSettingsV2 资源特定的属性 SiteAuthSettingsV2Properties

SiteAuthSettingsV2Properties

名称 说明
globalValidation 使用 App 服务 身份验证/授权确定用户的验证流的配置设置。 GlobalValidation
httpSettings 针对 App 服务 身份验证/授权发出的身份验证和授权请求的 HTTP 请求的配置设置。 HttpSettings
identityProviders 用于配置App 服务身份验证/授权的每个标识提供者的配置设置。 IdentityProviders
login 使用 App 服务 身份验证/授权的用户登录流的配置设置。 登录
平台 App 服务身份验证/授权平台的配置设置。 AuthPlatform

GlobalValidation

名称 说明
excludedPaths 未经身份验证的流不会重定向到登录页的路径。 string[]
redirectToProvider 配置多个提供程序时使用的默认身份验证提供程序。
仅当配置了多个提供程序和未经身份验证的客户端时,才需要此设置
action 设置为“RedirectToLoginPage”。
string
requireAuthentication true 如果需要身份验证流,则发出任何请求;否则为 false bool
unauthenticatedClientAction 未经身份验证的客户端尝试访问应用时要执行的操作。 “AllowAnonymous”
“RedirectToLoginPage”
“Return401”
“Return403”

HttpSettings

名称 说明
forwardProxy 用于发出请求的转发代理的配置设置。 ForwardProxy
requireHttps false 如果允许没有 HTTPS 方案的身份验证/授权响应,则为 ;否则为 true bool
routes 路径 HTTP 请求的配置设置。 HttpSettingsRoutes

ForwardProxy

名称 说明
公约 用于确定所发出请求的 URL 的约定。 “Custom”
“NoProxy”
“Standard”
customHostHeaderName 包含请求主机的标头的名称。 string
customProtoHeaderName 包含请求方案的标头的名称。 字符串

HttpSettingsRoutes

名称 说明
apiPrefix 应在所有身份验证/授权路径之前的前缀。 string

IdentityProviders

名称 说明
apple Apple 提供程序的配置设置。 Apple
azureActiveDirectory Azure Active Directory 提供程序的配置设置。 AzureActiveDirectory
azureStaticWebApps Azure Static Web Apps提供程序的配置设置。 AzureStaticWebApps
customOpenIdConnectProviders 每个自定义 Open ID Connect 提供程序的别名的映射
自定义 Open ID Connect 提供程序的配置设置。
对象 (object)
facebook Facebook提供程序的配置设置。 Facebook
gitHub GitHub 提供程序的配置设置。 GitHub
google Google 提供程序的配置设置。 Google
legacyMicrosoftAccount 旧版 Microsoft 帐户提供程序的配置设置。 LegacyMicrosoftAccount
twitter Twitter 提供程序的配置设置。 Twitter

Apple

名称 说明
enabled false 如果尽管设置了注册,但不应启用 Apple 提供程序;否则为 true bool
login 登录流的配置设置。 LoginScopes
注册 Apple 注册的配置设置。 AppleRegistration

LoginScopes

名称 说明
范围 身份验证时应请求的范围的列表。 string[]

AppleRegistration

名称 说明
clientId 用于登录的应用的客户端 ID。 字符串
clientSecretSettingName 包含客户端密码的应用设置名称。 字符串

AzureActiveDirectory

名称 说明
enabled false 如果尽管设置了注册,但不应启用 Azure Active Directory 提供程序,则为 ;否则为 true bool
isAutoProvisioned 获取一个值,该值指示是否使用第一方工具自动预配 Azure AD 配置。
这是一个内部标志,主要用于支持 Azure 管理门户。 用户不应
读取或写入此属性。
bool
login Azure Active Directory 登录流的配置设置。 AzureActiveDirectoryLogin
注册 Azure Active Directory 应用注册的配置设置。 AzureActiveDirectoryRegistration
validation Azure Active Directory 令牌验证流的配置设置。 AzureActiveDirectoryValidation

AzureActiveDirectoryLogin

名称 说明
disableWWWAuthenticate true 如果请求中应省略 www-authenticate 提供程序,则为 ;否则为 false bool
loginParameters 在以下情况下发送到 OpenID Connect 授权终结点的登录参数
用户登录。 每个参数必须采用“key=value”格式。
string[]

AzureActiveDirectoryRegistration

名称 说明
clientId 此信赖方应用程序的客户端 ID,称为 client_id。
若要使用 Azure Active Directory 或启用 OpenID 连接身份验证,需要此设置
其他第三方 OpenID Connect 提供程序。
有关 OpenID Connect 的详细信息: http://openid.net/specs/openid-connect-core-1_0.html
字符串
clientSecretCertificateIssuer 客户端机密指纹的替代方法,即用于签名的证书的颁发者。 此属性充当
客户端机密证书指纹的替换。 这也是可选的。
string
clientSecretCertificateSubjectAlternativeName 客户端机密指纹的替代项,即用于签名的证书的使用者可选名称。 此属性充当
客户端机密证书指纹的替换。 这也是可选的。
string
clientSecretCertificateThumbprint 客户端密码的替代方法,即用于签名的证书的指纹。 此属性充当
客户端密码的替换。 这也是可选的。
字符串
clientSecretSettingName 包含信赖方应用程序的客户端密码的应用设置名称。 字符串
openIdIssuer OpenID Connect 颁发者 URI,表示颁发此应用程序的访问令牌的实体。
使用 Azure Active Directory 时,此值是目录租户的 URI,例如 https://login.microsoftonline.com/v2.0/{tenant-guid}/.
此 URI 是令牌颁发者的区分大小写的标识符。
有关 OpenID Connect Discovery 的详细信息: http://openid.net/specs/openid-connect-discovery-1_0.html
字符串

AzureActiveDirectoryValidation

名称 说明
allowedAudiences 可以成功发出身份验证/授权请求的访问群体列表。 string[]
defaultAuthorizationPolicy 默认授权策略的配置设置。 DefaultAuthorizationPolicy
jwtClaimChecks 验证 JWT 声明时应进行的检查的配置设置。 JwtClaimChecks

DefaultAuthorizationPolicy

名称 说明
allowedApplications Azure Active Directory 允许的应用程序的配置设置。 string[]
allowedPrincipals Azure Active Directory 允许的主体的配置设置。 AllowedPrincipals

AllowedPrincipals

名称 说明
groups 允许的组的列表。 string[]
identities 允许的标识的列表。 string[]

JwtClaimChecks

名称 说明
allowedClientApplications 允许的客户端应用程序的列表。 string[]
allowedGroups 允许的组的列表。 string[]

AzureStaticWebApps

名称 说明
enabled false如果尽管设置了注册,但不应启用Azure Static Web Apps提供程序,则为 ;否则为 true bool
注册 Azure Static Web Apps注册的配置设置。 AzureStaticWebAppsRegistration

AzureStaticWebAppsRegistration

名称 说明
clientId 用于登录的应用的客户端 ID。 string

Facebook

名称 说明
enabled false如果尽管设置了注册,但不应启用Facebook提供程序,则为 ;否则为 true bool
graphApiVersion 登录时要使用的 Facebook API 的版本。 string
login 登录流的配置设置。 LoginScopes
注册 Facebook提供程序的应用注册的配置设置。 AppRegistration

AppRegistration

名称 说明
appId 用于登录的应用的应用 ID。 字符串
appSecretSettingName 包含应用机密的应用设置名称。 字符串

GitHub

名称 说明
enabled false 如果不应启用 GitHub 提供程序(尽管设置了注册);否则为 true bool
login 登录流的配置设置。 LoginScopes
注册 GitHub 提供程序的应用注册的配置设置。 ClientRegistration

ClientRegistration

名称 说明
clientId 用于登录的应用的客户端 ID。 string
clientSecretSettingName 包含客户端密码的应用设置名称。 字符串

Google

名称 说明
enabled false 如果尽管设置了注册,但不应启用 Google 提供程序,则为 ;否则为 true bool
login 登录流的配置设置。 LoginScopes
注册 Google 提供程序的应用注册的配置设置。 ClientRegistration
validation Azure Active Directory 令牌验证流的配置设置。 AllowedAudiencesValidation

AllowedAudiencesValidation

名称 说明
allowedAudiences 要从中验证 JWT 令牌的访问群体的允许列表的配置设置。 string[]

LegacyMicrosoftAccount

名称 说明
enabled false 如果尽管设置了注册,但不应启用旧版 Microsoft 帐户提供程序,则为 ;否则为 true bool
login 登录流的配置设置。 LoginScopes
注册 旧版 Microsoft 帐户提供程序的应用注册的配置设置。 ClientRegistration
validation 旧版 Microsoft 帐户提供程序令牌验证流的配置设置。 AllowedAudiencesValidation

Twitter

名称 说明
enabled false 如果尽管设置了注册,但不应启用 Twitter 提供程序;否则为 true bool
注册 Twitter 提供程序的应用注册的配置设置。 TwitterRegistration

TwitterRegistration

名称 说明
consumerKey 用于登录的 Twitter 应用程序的 OAuth 1.0a 使用者密钥。
启用 Twitter 登录需要此设置。
Twitter Sign-In 文档: https://dev.twitter.com/web/sign-in
字符串
consumerSecretSettingName 包含 Twitter 的 OAuth 1.0a 使用者机密的应用设置名称
用于登录的应用程序。
字符串

登录

名称 说明
allowedExternalRedirectUrls 可在登录或注销应用时重定向到的外部 URL。 请注意,将忽略 URL 的查询字符串部分。
这是一种高级设置,通常只有 Windows 应用商店应用程序后端才需要。
请注意,始终隐式允许当前域中的 URL。
string[]
cookieExpiration 会话 Cookie 过期的配置设置。 CookieExpiration
nonce 登录流中使用的 nonce 的配置设置。 Nonce
preserveUrlFragmentsForLogins true 如果在发出登录请求后保留请求中的片段,则为 ;否则为 false bool
routes 指定用于登录和注销请求的终结点的路由。 LoginRoutes
tokenStore 令牌存储的配置设置。 TokenStore

CookieExpiration

名称 说明
公约 确定会话 Cookie 过期时使用的约定。 “FixedTime”
“IdentityProviderDerived”
timeToExpiration 发出请求后会话 Cookie 应过期的时间。 字符串

Nonce

名称 说明
nonceExpirationInterval 发出请求后,nonce 应过期的时间。 string
validateNonce false 如果在完成登录流时不应验证 nonce,则为 ;否则为 true bool

LoginRoutes

名称 说明
logoutEndpoint 应在其中发出注销请求的终结点。 string

TokenStore

名称 说明
azureBlobStorage 如果使用 Blob 存储,则为令牌存储的配置设置。 BlobStorageTokenStore
enabled true 用于持久存储登录流期间获取的平台特定安全令牌;否则为 false
默认为 false
bool
fileSystem 使用文件系统时令牌存储的配置设置。 FileSystemTokenStore
tokenRefreshExtensionHours 会话令牌过期后可以使用会话令牌的小时数
调用令牌刷新 API。 默认值为 72 小时。
int

BlobStorageTokenStore

名称 说明
sasUrlSettingName 包含包含令牌的 Blob 存储的 SAS URL 的应用设置的名称。 string

FileSystemTokenStore

名称 说明 Value
目录 将存储令牌的目录。 字符串

AuthPlatform

名称 说明
configFilePath 包含身份验证设置的配置文件的路径(如果它们来自文件)。
如果路径是相对路径,则 base 将作为站点的根目录。
string
enabled true 如果为当前应用启用了身份验证/授权功能,则为 ;否则为 false bool
runtimeVersion 当前应用使用的身份验证/授权功能的 RuntimeVersion。
此值中的设置可以控制身份验证/授权模块中某些功能的行为。
字符串

快速入门模板

以下快速入门模板部署此资源类型。

模板 说明
在应用服务上使用 PostgreSQL 数据库的 Airflow Web 应用

部署到 Azure
用于在应用服务上使用 PostgreSQL 数据库部署 Airflow Web 应用的模板
Azure 中的 EPiserverCMS

部署到 Azure
此模板允许在 Azure 中创建 EpiServerCMS 部署所需的资源
使用 Jenkins 和 Azure Web 应用实现 Java CI/CD

部署到 Azure
这是使用 Jenkins 和 Azure Web 应用的 Java CI/CD 的示例。
Orchard CMS 视频门户 Web 应用

部署到 Azure
此模板提供了一种在启用和配置 Azure 媒体服务模块的情况下,在 Azure 应用服务 Web 应用 上部署 Orchard CMS 的简单方法。
适用于 Azure 事件中心 的 PubNub 实时网关

部署到 Azure
适用于 Azure 的 PubNub 实时网关在 PubNub 数据流网络和Azure 事件中心之间提供实时数据流桥。 - 将其视为 PubNub 和 Azure 之间的双向桥梁!
可缩放的 Umbraco CMS Web 应用

部署到 Azure
此模板提供了一种在 Azure 应用服务 Web 应用 上部署 umbraco CMS Web 应用的简单方法。
简单的 Umbraco CMS Web 应用

部署到 Azure
此模板提供了一种在 Azure 应用服务 Web 应用 上部署 umbraco CMS Web 应用的简单方法。
App 服务上的 WordPress 与应用内 MySQL 配合使用

部署到 Azure
此模板使用应用中的 MySQL 在 Windows App 服务上部署 WordPress Web 应用
企业治理 - AppService、SQL DB、AD、OMS、Runbook

部署到 Azure
企业云采用(无论大小)都需要负责任且高效的治理模型才能从其云部署中获取价值。 CloudWise (解决方案) 的代号,是 Azure 合作伙伴快速入门中提供的复合解决方案,是客户、系统集成商和合作伙伴的采用支持者,可提供可自助的自动化治理和运营解决方案,重点是优化成本、提高应用程序 () 可靠性、降低业务风险。 该解决方案突出了可见性和控制的核心治理支柱。
使用Azure SQL专用终结点的 Web 应用

部署到 Azure
此模板演示如何创建使用指向 Azure SQL 服务器的专用终结点的 Web 应用
Moesif API 分析和盈利

部署到 Azure
该模板会将 Azure API 管理 的 API 调用记录到 Moesif API 分析和盈利平台
从 Azure 逻辑应用调用自定义 API

部署到 Azure
尽管逻辑应用为各种服务提供了数百个连接器,但你可能希望调用运行自己的代码的 API。 托管自己的 Web API 的最简单且最可缩放的方法之一是使用 Azure 应用服务。 此模板为自定义 API 部署 Web 应用,并使用 Azure Active Directory 身份验证保护该 API。
具有 IP 限制的 Web 应用的应用程序网关

部署到 Azure
此模板在 Azure Web 应用前面创建一个应用程序网关,并在 Web 应用上启用了 IP 限制。
使用 Azure SQL 后端应用服务环境

部署到 Azure
此模板创建一个应用服务环境,其中包含Azure SQL后端、专用终结点以及通常在专用/隔离环境中使用的关联资源。
预配在 App 服务 计划上运行的函数应用

部署到 Azure
此模板在专用托管计划上预配函数应用,这意味着它将像任何App 服务站点一样运行和计费。
具有事件中心和托管标识的 Azure 函数应用

部署到 Azure
他的模板在 Linux 消耗计划上预配 Azure 函数应用,以及事件中心、Azure 存储和 Application Insights。 函数应用能够使用托管标识连接到事件中心和存储帐户
使用 vnet 集成部署 Azure Function Premium 计划

部署到 Azure
此模板允许将启用了区域虚拟网络集成的 Azure Function Premium 计划部署到新创建的虚拟网络。
使用SQL 数据库预配移动应用

部署到 Azure
此模板预配移动应用、SQL 数据库和通知中心。 它在移动应用中为数据库和通知中心配置连接字符串。
具有专用终结点的 Web 应用

部署到 Azure
此模板允许你创建 Web 应用并通过专用终结点公开它
使用内部API 管理和 Web 应用应用程序网关

部署到 Azure
应用程序网关将 Internet 流量路由到虚拟网络 (内部模式) API 管理 实例,该实例为 Azure Web 应用中托管的 Web API 提供服务。
使用 Blob 存储连接字符串创建 Azure Web 应用

部署到 Azure
使用 Blob 存储连接字符串创建 Azure Web 应用,模板最初由 Microsoft 的 Jeff Bowles 创作
将诊断日志记录到 Blob 容器的 Web 应用

部署到 Azure
将启用了诊断日志记录的 Web 应用部署到存储帐户 Blob 容器。
在已启用 Java 13 和 Tomcat 9 的 Azure 上创建 Web 应用

部署到 Azure
此模板在已启用 Java 13 和 Tomcat 9 的 Azure 上创建 Web 应用,使你可以在 Azure 中运行 Java 应用程序。 模板由 Microsoft 的 Donovan Brown 创作。
Web 应用(带 Application Insights 发送到 Log Analytics)

部署到 Azure
此模板将帮助支持 microsoft.insights/components 的新 API 版本。 从 2020-02-02-preview 开始,创建 Application Inisghts 时需要 WorkspaceID。此模板将部署App 服务计划、App 服务、Application Insights、Log Analytics 工作区,并将其全部挂钩在一起。
具有托管标识、SQL Server和 ΑΙ 的 Web 应用

部署到 Azure
为应用 + 数据 + 托管标识 + 监视部署 Azure 基础结构的简单示例
使用模板创建 Web 应用 + Redis 缓存 + SQL DB

部署到 Azure
此模板使用 Redis 缓存和SQL 数据库创建 Azure Web 应用。
使用SQL 数据库预配 Web 应用

部署到 Azure
此模板预配 Web 应用、SQL 数据库、自动缩放设置、警报规则和 App Insights。 它在 Web 应用中为数据库配置连接字符串。
使用模板创建 Web 应用和 Redis 缓存

部署到 Azure
此模板使用 Redis 缓存创建 Azure Web 应用。
具有自定义部署槽位的 Web 应用

部署到 Azure
此模板提供了一种在 Azure Web 应用 上部署具有自定义部署槽位的 Web 应用的简单方法。
在 Linux 上使用 PostgreSQL 的 Airflow Docker Web 应用

部署到 Azure
此模板提供了一种在 Linux Web 应用上使用 Azure Database for PostgreSQL 部署 puckel/docker-airflow 映像 (最新标记) 的简单方法
具有 Azure SQL 的 Linux 上的 Sonarqube Docker Web 应用

部署到 Azure
此模板使用官方 Sonarqube 映像在 Azure 应用服务 Web 应用 Linux 容器中部署 Sonarqube,并由 Azure SQL 服务器提供支持。
具有 MySQL 的 Linux 上的 Sonarqube Docker Web 应用

部署到 Azure
此模板提供了一种在 Linux Web 应用上使用 Azure Database for MySQL 部署 Sonarqube docker 映像 (alpine 标记) 的简单方法
具有 PostgreSQL 的 Linux 上的 Sonarqube Docker Web 应用

部署到 Azure
此模板提供了一种在 Linux Web 应用上使用 Azure Database for PostgreSQL (预览版部署 Sonarqube docker 映像 (alpine 标记) 的简单方法)
使用 Azure database for MySQL 的 Web 应用

部署到 Azure
此模板提供了一种使用 Azure database for MySQL 在 Azure 应用服务 Web 应用 上部署 Web 应用的简单方法。
Linux 上的 Web 应用和 PostgreSQL

部署到 Azure
此模板提供了一种使用 Azure Database for PostgreSQL 在 Linux 上部署 Web 应用的简单方法。
具有 VNet 注入和专用终结点的 Web 应用

部署到 Azure
通过此模板,可以使用两个 Web 应用(前端和后端)创建安全的端到端解决方案,前端将通过 VNet 注入和专用终结点安全地使用后端

ARM 模板资源定义

可以使用针对以下操作部署站点/配置资源类型:

有关每个 API 版本中更改的属性的列表,请参阅 更改日志

名称属性的选项

sites/config 资源接受基于 name 属性的值的不同属性。 本文介绍设置 name: 'authsettingsV2'时可用的属性。

有关其他选项,请参阅:

资源格式

若要创建 Microsoft.Web/sites/config 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.Web/sites/config",
  "apiVersion": "2022-09-01",
  "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" ],
          "defaultAuthorizationPolicy": {
            "allowedApplications": [ "string" ],
            "allowedPrincipals": {
              "groups": [ "string" ],
              "identities": [ "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"
    }
  }
}

属性值

sites/config-authsettingsV2

名称 说明 Value
type 资源类型 “Microsoft.Web/sites/config”
apiVersion 资源 API 版本 '2022-09-01'
name 资源名称

了解如何在 JSON ARM 模板中为子资源设置名称和类型。
“authsettingsV2”
kind 资源类型。 string
properties SiteAuthSettingsV2 资源特定的属性 SiteAuthSettingsV2Properties

SiteAuthSettingsV2Properties

名称 说明
globalValidation 使用 App 服务 身份验证/授权确定用户的验证流的配置设置。 GlobalValidation
httpSettings 针对 App 服务 身份验证/授权发出的身份验证和授权请求的 HTTP 请求的配置设置。 HttpSettings
identityProviders 用于配置App 服务身份验证/授权的每个标识提供者的配置设置。 IdentityProviders
login 使用 App 服务 身份验证/授权的用户登录流的配置设置。 登录
平台 App 服务身份验证/授权平台的配置设置。 AuthPlatform

GlobalValidation

名称 说明
excludedPaths 未经身份验证的流不会重定向到登录页的路径。 string[]
redirectToProvider 配置多个提供程序时使用的默认身份验证提供程序。
仅当配置了多个提供程序和未经身份验证的客户端时,才需要此设置
action 设置为“RedirectToLoginPage”。
字符串
requireAuthentication true 如果需要身份验证流,则发出任何请求;否则为 false bool
unauthenticatedClientAction 未经身份验证的客户端尝试访问应用时要执行的操作。 “AllowAnonymous”
“RedirectToLoginPage”
“Return401”
“Return403”

HttpSettings

名称 说明
forwardProxy 用于发出请求的转发代理的配置设置。 ForwardProxy
requireHttps false 如果允许没有 HTTPS 方案的身份验证/授权响应,则为 ;否则为 true bool
routes 路径 HTTP 请求的配置设置。 HttpSettingsRoutes

ForwardProxy

名称 说明
公约 用于确定所发出请求的 URL 的约定。 “Custom”
“NoProxy”
'Standard'
customHostHeaderName 包含请求主机的标头的名称。 字符串
customProtoHeaderName 包含请求方案的标头的名称。 string

HttpSettingsRoutes

名称 说明
apiPrefix 应在所有身份验证/授权路径之前的前缀。 string

IdentityProviders

名称 说明
apple Apple 提供程序的配置设置。 Apple
azureActiveDirectory Azure Active Directory 提供程序的配置设置。 AzureActiveDirectory
azureStaticWebApps Azure Static Web Apps提供程序的配置设置。 AzureStaticWebApps
customOpenIdConnectProviders 每个自定义 Open ID Connect 提供程序的别名名称映射到
自定义 Open ID Connect 提供程序的配置设置。
对象 (object)
facebook Facebook提供程序的配置设置。 Facebook
gitHub GitHub 提供程序的配置设置。 GitHub
google Google 提供程序的配置设置。 Google
legacyMicrosoftAccount 旧版 Microsoft 帐户提供程序的配置设置。 LegacyMicrosoftAccount
twitter Twitter 提供程序的配置设置。 Twitter

Apple

名称 说明
enabled false 如果不应启用 Apple 提供程序(尽管设置了注册);否则为 true bool
login 登录流的配置设置。 LoginScopes
注册 Apple 注册的配置设置。 AppleRegistration

LoginScopes

名称 说明
范围 身份验证时应请求的范围列表。 string[]

AppleRegistration

名称 说明
clientId 用于登录的应用的客户端 ID。 string
clientSecretSettingName 包含客户端密码的应用设置名称。 字符串

AzureActiveDirectory

名称 说明
enabled false 如果不应启用 Azure Active Directory 提供程序(尽管设置了注册);否则为 true bool
isAutoProvisioned 获取一个值,该值指示是否使用第一方工具自动预配 Azure AD 配置。
这是一个内部标志,主要用于支持 Azure 管理门户。 用户不应
读取或写入此属性。
bool
login Azure Active Directory 登录流的配置设置。 AzureActiveDirectoryLogin
注册 Azure Active Directory 应用注册的配置设置。 AzureActiveDirectoryRegistration
validation Azure Active Directory 令牌验证流的配置设置。 AzureActiveDirectoryValidation

AzureActiveDirectoryLogin

名称 说明
disableWWWAuthenticate true 如果请求中应省略 www-authenticate 提供程序,则为 ;否则为 false bool
loginParameters 在以下情况下要发送到 OpenID Connect 授权终结点的登录参数
用户登录。 每个参数必须采用“key=value”格式。
string[]

AzureActiveDirectoryRegistration

名称 说明
clientId 此信赖方应用程序的客户端 ID,称为client_id。
若要使用 Azure Active Directory 或 启用 OpenID 连接身份验证,需要此设置
其他第三方 OpenID Connect 提供程序。
有关 OpenID Connect 的详细信息: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecretCertificateIssuer 客户端机密指纹的替代方法,即用于签名的证书的颁发者。 此属性充当
客户端机密证书指纹的替代项。 这也是可选的。
string
clientSecretCertificateSubjectAlternativeName 客户端机密指纹的替代方法,即用于签名的证书的使用者可选名称。 此属性充当
客户端机密证书指纹的替代项。 这也是可选的。
字符串
clientSecretCertificateThumbprint 客户端密码的替代方法,即用于签名的证书的指纹。 此属性充当
客户端密码的替代项。 这也是可选的。
字符串
clientSecretSettingName 包含信赖方应用程序的客户端密码的应用设置名称。 字符串
openIdIssuer OpenID Connect 颁发者 URI,表示为此应用程序颁发访问令牌的实体。
使用 Azure Active Directory 时,此值是目录租户的 URI,例如 https://login.microsoftonline.com/v2.0/{tenant-guid}/.
此 URI 是令牌颁发者的区分大小写的标识符。
有关 OpenID Connect 发现的详细信息: http://openid.net/specs/openid-connect-discovery-1_0.html
字符串

AzureActiveDirectoryValidation

名称 说明
allowedAudiences 可以成功发出身份验证/授权请求的访问群体列表。 string[]
defaultAuthorizationPolicy 默认授权策略的配置设置。 DefaultAuthorizationPolicy
jwtClaimChecks 验证 JWT 声明时应进行的检查的配置设置。 JwtClaimChecks

DefaultAuthorizationPolicy

名称 说明
allowedApplications Azure Active Directory 允许的应用程序的配置设置。 string[]
allowedPrincipals Azure Active Directory 允许的主体的配置设置。 AllowedPrincipals

AllowedPrincipals

名称 说明
groups 允许的组的列表。 string[]
identities 允许的标识的列表。 string[]

JwtClaimChecks

名称 说明
allowedClientApplications 允许的客户端应用程序的列表。 string[]
allowedGroups 允许的组的列表。 string[]

AzureStaticWebApps

名称 说明
enabled false如果尽管设置了注册,但不应启用Azure Static Web Apps提供程序,则为 ;否则为 true bool
注册 Azure Static Web Apps注册的配置设置。 AzureStaticWebAppsRegistration

AzureStaticWebAppsRegistration

名称 说明
clientId 用于登录的应用的客户端 ID。 string

Facebook

名称 说明
enabled false如果尽管设置了注册,但不应启用Facebook提供程序,则为 ;否则为 true bool
graphApiVersion 登录时要使用的 Facebook API 的版本。 string
login 登录流的配置设置。 LoginScopes
注册 Facebook提供程序的应用注册的配置设置。 AppRegistration

AppRegistration

名称 说明
appId 用于登录的应用的应用 ID。 string
appSecretSettingName 包含应用机密的应用设置名称。 字符串

GitHub

名称 说明
enabled false 如果不应启用 GitHub 提供程序(尽管设置了注册);否则为 true bool
login 登录流的配置设置。 LoginScopes
注册 GitHub 提供程序的应用注册的配置设置。 ClientRegistration

ClientRegistration

名称 说明
clientId 用于登录的应用的客户端 ID。 字符串
clientSecretSettingName 包含客户端密码的应用设置名称。 字符串

Google

名称 说明
enabled false 如果尽管设置了注册,但不应启用 Google 提供程序,则为 ;否则为 true bool
login 登录流的配置设置。 LoginScopes
注册 Google 提供程序的应用注册的配置设置。 ClientRegistration
validation Azure Active Directory 令牌验证流的配置设置。 AllowedAudiencesValidation

AllowedAudiencesValidation

名称 说明
allowedAudiences 要从中验证 JWT 令牌的访问群体的允许列表的配置设置。 string[]

LegacyMicrosoftAccount

名称 说明
enabled false 如果尽管设置了注册,但不应启用旧版 Microsoft 帐户提供程序,则为 ;否则为 true bool
login 登录流的配置设置。 LoginScopes
注册 旧版 Microsoft 帐户提供程序的应用注册的配置设置。 ClientRegistration
validation 旧版 Microsoft 帐户提供程序令牌验证流的配置设置。 AllowedAudiencesValidation

Twitter

名称 说明
enabled false 如果尽管设置了注册,但不应启用 Twitter 提供程序,则为 ;否则为 true bool
注册 Twitter 提供程序的应用注册的配置设置。 TwitterRegistration

TwitterRegistration

名称 说明
consumerKey 用于登录的 Twitter 应用程序的 OAuth 1.0a 使用者密钥。
此设置是启用 Twitter 登录所必需的。
Twitter Sign-In 文档: https://dev.twitter.com/web/sign-in
string
consumerSecretSettingName 包含 Twitter 的 OAuth 1.0a 使用者机密的应用设置名称
用于登录的应用程序。
字符串

登录

名称 说明
allowedExternalRedirectUrls 登录或注销应用时可重定向到的外部 URL。 请注意,将忽略 URL 的查询字符串部分。
这是通常只有 Windows 应用商店应用程序后端才需要的高级设置。
请注意,始终隐式允许当前域中的 URL。
string[]
cookieExpiration 会话 Cookie 过期的配置设置。 CookieExpiration
nonce 登录流中使用的 nonce 的配置设置。 Nonce
preserveUrlFragmentsForLogins true 如果在发出登录请求后保留来自请求的片段,则为 ;否则为 false bool
routes 指定用于登录和注销请求的终结点的路由。 LoginRoutes
tokenStore 令牌存储的配置设置。 TokenStore

CookieExpiration

名称 说明
公约 确定会话 Cookie 过期时使用的约定。 “FixedTime”
“IdentityProviderDerived”
timeToExpiration 发出请求后会话 Cookie 应过期的时间。 string

Nonce

名称 说明
nonceExpirationInterval 发出请求后,nonce 应过期的时间。 string
validateNonce false 如果在完成登录流时不应验证 nonce,则为 ;否则为 true bool

LoginRoutes

名称 说明
logoutEndpoint 应在其中发出注销请求的终结点。 string

TokenStore

名称 说明
azureBlobStorage 如果使用 Blob 存储,则为令牌存储的配置设置。 BlobStorageTokenStore
enabled true 用于持久存储登录流期间获取的平台特定安全令牌;否则为 false
默认为 false
bool
fileSystem 使用文件系统时令牌存储的配置设置。 FileSystemTokenStore
tokenRefreshExtensionHours 会话令牌过期后可以使用会话令牌的小时数
调用令牌刷新 API。 默认值为 72 小时。
int

BlobStorageTokenStore

名称 说明
sasUrlSettingName 包含包含令牌的 Blob 存储的 SAS URL 的应用设置的名称。 string

FileSystemTokenStore

名称 说明 Value
目录 将存储令牌的目录。 字符串

AuthPlatform

名称 说明
configFilePath 包含身份验证设置的配置文件的路径(如果它们来自文件)。
如果路径是相对路径,则 base 将用于站点的根目录。
string
enabled true 如果为当前应用启用了身份验证/授权功能,则为 ;否则为 false bool
runtimeVersion 用于当前应用的身份验证/授权功能的 RuntimeVersion。
此值中的设置可以控制身份验证/授权模块中某些功能的行为。
string

快速入门模板

以下快速入门模板部署此资源类型。

模板 说明
在应用服务上使用 PostgreSQL 数据库的 Airflow Web 应用

部署到 Azure
用于在应用服务上使用 PostgreSQL 数据库部署 Airflow Web 应用的模板
Azure 中的 EPiserverCMS

部署到 Azure
此模板允许你在 Azure 中创建 EpiServerCMS 部署所需的资源
使用 Jenkins 和 Azure Web 应用实现 Java CI/CD

部署到 Azure
这是使用 Jenkins 和 Azure Web 应用的 Java CI/CD 的示例。
Orchard CMS 视频门户 Web 应用

部署到 Azure
此模板提供了一种在启用和配置 Azure 媒体服务模块的情况下在 Azure 应用服务 Web 应用 上部署 Orchard CMS 的简单方法。
适用于 Azure 事件中心 的 PubNub 实时网关

部署到 Azure
适用于 Azure 的 PubNub 实时网关在 PubNub 数据流网络和Azure 事件中心之间提供实时数据流网桥。 - 将其视为 PubNub 和 Azure 之间的双向桥梁!
可缩放的 Umbraco CMS Web 应用

部署到 Azure
此模板提供了一种在 Azure 应用服务 Web 应用 上部署 umbraco CMS Web 应用的简单方法。
简单的 Umbraco CMS Web 应用

部署到 Azure
此模板提供了一种在 Azure 应用服务 Web 应用 上部署 umbraco CMS Web 应用的简单方法。
App 服务上的 WordPress 与应用内 MySQL 配合使用

部署到 Azure
此模板使用应用中的 MySQL 在 Windows App 服务上部署 WordPress Web 应用
企业治理 - AppService、SQL DB、AD、OMS、Runbook

部署到 Azure
企业云采用(无论大小)都需要负责任且高效的治理模型才能从其云部署中获取价值。 CloudWise (解决方案) 的代号,是 Azure 合作伙伴快速入门中提供的复合解决方案,是客户、系统集成商和合作伙伴的采用支持者,可提供可自助的自动化治理和运营解决方案,重点是优化成本、提高应用程序 () 可靠性、降低业务风险。 该解决方案突出了可见性和控制的核心治理支柱。
使用Azure SQL专用终结点的 Web 应用

部署到 Azure
此模板演示如何创建使用指向 Azure SQL 服务器的专用终结点的 Web 应用
Moesif API 分析和盈利

部署到 Azure
该模板会将 Azure API 管理 的 API 调用记录到 Moesif API 分析和盈利平台
从 Azure 逻辑应用调用自定义 API

部署到 Azure
尽管逻辑应用为各种服务提供了数百个连接器,但你可能希望调用运行自己的代码的 API。 托管自己的 Web API 的最简单且最可缩放的方法之一是使用 Azure 应用服务。 此模板为自定义 API 部署 Web 应用,并使用 Azure Active Directory 身份验证保护该 API。
具有 IP 限制的 Web 应用的应用程序网关

部署到 Azure
此模板在 Azure Web 应用前面创建一个应用程序网关,并在 Web 应用上启用了 IP 限制。
使用 Azure SQL 后端应用服务环境

部署到 Azure
此模板创建一个应用服务环境,其中包含Azure SQL后端、专用终结点以及通常在专用/隔离环境中使用的关联资源。
预配在 App 服务 计划上运行的函数应用

部署到 Azure
此模板在专用托管计划上预配函数应用,这意味着它将像任何App 服务站点一样运行和计费。
具有事件中心和托管标识的 Azure 函数应用

部署到 Azure
他的模板在 Linux 消耗计划上预配 Azure 函数应用,以及事件中心、Azure 存储和 Application Insights。 函数应用能够使用托管标识连接到事件中心和存储帐户
使用 vnet 集成部署 Azure Function Premium 计划

部署到 Azure
此模板允许将启用了区域虚拟网络集成的 Azure Function Premium 计划部署到新创建的虚拟网络。
使用SQL 数据库预配移动应用

部署到 Azure
此模板预配移动应用、SQL 数据库和通知中心。 它在移动应用中为数据库和通知中心配置连接字符串。
具有专用终结点的 Web 应用

部署到 Azure
此模板允许创建 Web 应用并通过专用终结点公开它
使用内部API 管理和 Web 应用应用程序网关

部署到 Azure
应用程序网关将 Internet 流量路由到虚拟网络 (内部模式) API 管理 实例,该实例为 Azure Web 应用中托管的 Web API 提供服务。
使用 Blob 存储连接字符串创建 Azure Web 应用

部署到 Azure
使用 Blob 存储连接字符串创建 Azure Web 应用,模板最初由 Microsoft 的 Jeff Bowles 创作
将诊断日志记录到 Blob 容器的 Web 应用

部署到 Azure
将启用了诊断日志记录的 Web 应用部署到存储帐户 Blob 容器。
在启用了 Java 13 和 Tomcat 9 的 Azure 上创建 Web 应用

部署到 Azure
此模板在启用了 Java 13 和 Tomcat 9 的 Azure 上创建 Web 应用,使你可以在 Azure 中运行 Java 应用程序。 模板由 Microsoft 的 Donovan Brown 创作。
将 Application Insights 发送到 Log Analytics 的 Web 应用

部署到 Azure
此模板将帮助支持 microsoft.insights/components 的新 API 版本。 从 2020-02-02 开始,创建 Application Inisghts 时需要 WorkspaceID。此模板将部署App 服务计划、App 服务、Application Insights、Log Analytics 工作区并将其全部挂钩在一起。
具有托管标识、SQL Server和 ΑΙ 的 Web 应用

部署到 Azure
为应用 + 数据 + 托管标识 + 监视部署 Azure 基础结构的简单示例
使用模板创建 Web 应用 + Redis 缓存 + SQL DB

部署到 Azure
此模板使用 Redis 缓存和SQL 数据库创建 Azure Web 应用。
使用SQL 数据库预配 Web 应用

部署到 Azure
此模板预配 Web 应用、SQL 数据库、自动缩放设置、警报规则和 App Insights。 它在 Web 应用中为数据库配置连接字符串。
使用模板创建 Web 应用和 Redis 缓存

部署到 Azure
此模板使用 Redis 缓存创建 Azure Web 应用。
具有自定义部署槽位的 Web 应用

部署到 Azure
此模板提供了一种在 Azure Web 应用 上使用自定义部署槽位部署 Web 应用的简单方法。
使用 PostgreSQL 的 Linux 上的 Airflow Docker Web 应用

部署到 Azure
此模板提供了一种在 Linux Web 应用上使用 Azure Database for PostgreSQL 部署 puckel/docker-airflow 映像 (最新标记) 的简单方法
具有 Azure SQL 的 Linux 上的 Sonarqube Docker Web 应用

部署到 Azure
此模板使用官方 Sonarqube 映像并受 Azure SQL 服务器支持,在 Azure 应用服务 Web 应用 Linux 容器中部署 Sonarqube。
使用 MySQL 的 Linux 上的 Sonarqube Docker Web 应用

部署到 Azure
此模板提供了一种在 Linux Web 应用上使用 Azure Database for MySQL 将 Sonarqube docker 映像 (alpine 标记) 部署的简单方法
使用 PostgreSQL 的 Linux 上的 Sonarqube Docker Web 应用

部署到 Azure
此模板提供了一种在 Linux Web 应用上使用 Azure Database for PostgreSQL (预览版部署 Sonarqube docker 映像 (alpine 标记) 的简单方法)
使用 Azure Database for MySQL 的 Web 应用

部署到 Azure
此模板提供了一种使用 Azure Database for MySQL 在 Azure 应用服务 Web 应用 上部署 Web 应用的简单方法。
Linux 上的 Web 应用和 PostgreSQL

部署到 Azure
此模板提供了一种使用 Azure Database for PostgreSQL 在 Linux 上部署 Web 应用的简单方法。
具有 VNet 注入和专用终结点的 Web 应用

部署到 Azure
此模板允许创建包含两个 Web 应用(前端和后端)的安全端到端解决方案,前端将通过 VNet 注入和专用终结点安全地使用后端

Terraform (AzAPI 提供程序) 资源定义

可以使用面向以下操作部署站点/配置资源类型:

  • 资源组

有关每个 API 版本中更改的属性的列表,请参阅 更改日志

名称属性的选项

sites/config 资源接受基于 name 属性的值的不同属性。 本文介绍设置 name: 'authsettingsV2'时可用的属性。

有关其他选项,请参阅:

资源格式

若要创建 Microsoft.Web/sites/config 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Web/sites/config@2022-09-01"
  name = "authsettingsV2"
  parent_id = "string"
  body = jsonencode({
    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"
            ]
            defaultAuthorizationPolicy = {
              allowedApplications = [
                "string"
              ]
              allowedPrincipals = {
                groups = [
                  "string"
                ]
                identities = [
                  "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"
      }
    }
    kind = "string"
  })
}

属性值

sites/config-authsettingsV2

名称 说明 Value
type 资源类型 “Microsoft.Web/sites/config@2022-09-01”
name 资源名称 “authsettingsV2”
parent_id 此资源的父资源 ID。 类型为“站点”的资源的 ID
kind 资源类型。 string
properties SiteAuthSettingsV2 资源特定的属性 SiteAuthSettingsV2Properties

SiteAuthSettingsV2Properties

名称 说明
globalValidation 使用App 服务身份验证/授权确定用户的验证流的配置设置。 GlobalValidation
httpSettings 针对身份验证/授权的 HTTP 请求的配置设置和针对App 服务身份验证/授权发出的授权请求。 HttpSettings
identityProviders 用于配置身份验证/授权的每个标识提供者的配置设置App 服务。 IdentityProviders
login 使用 App 服务 身份验证/授权的用户登录流的配置设置。 登录
平台 App 服务身份验证/授权平台的配置设置。 AuthPlatform

GlobalValidation

名称 说明
excludedPaths 未经身份验证的流不会重定向到登录页的路径。 string[]
redirectToProvider 配置多个提供程序时要使用的默认身份验证提供程序。
仅当配置了多个提供程序和未经身份验证的客户端时,才需要此设置
action 设置为“RedirectToLoginPage”。
字符串
requireAuthentication true 如果需要身份验证流,则发出任何请求;否则为 false bool
unauthenticatedClientAction 未经身份验证的客户端尝试访问应用时要执行的操作。 “AllowAnonymous”
“RedirectToLoginPage”
“Return401”
“Return403”

HttpSettings

名称 说明
forwardProxy 用于发出请求的转发代理的配置设置。 ForwardProxy
requireHttps false 如果允许没有 HTTPS 方案的身份验证/授权响应,则为 ;否则为 true bool
routes 路径 HTTP 请求的配置设置。 HttpSettingsRoutes

ForwardProxy

名称 说明
公约 用于确定所发出请求的 URL 的约定。 “Custom”
“NoProxy”
“Standard”
customHostHeaderName 包含请求主机的标头的名称。 字符串
customProtoHeaderName 包含请求方案的标头的名称。 字符串

HttpSettingsRoutes

名称 说明
apiPrefix 应在所有身份验证/授权路径之前的前缀。 字符串

IdentityProviders

名称 说明
apple Apple 提供程序的配置设置。 Apple
azureActiveDirectory Azure Active Directory 提供程序的配置设置。 AzureActiveDirectory
azureStaticWebApps Azure Static Web Apps提供程序的配置设置。 AzureStaticWebApps
customOpenIdConnectProviders 每个自定义 Open ID Connect 提供程序的别名名称映射到
自定义 Open ID Connect 提供程序的配置设置。
对象 (object)
facebook Facebook提供程序的配置设置。 Facebook
gitHub GitHub 提供程序的配置设置。 GitHub
google Google 提供程序的配置设置。 Google
legacyMicrosoftAccount 旧版 Microsoft 帐户提供程序的配置设置。 LegacyMicrosoftAccount
twitter Twitter 提供程序的配置设置。 Twitter

Apple

名称 说明
enabled false 如果不应启用 Apple 提供程序(尽管设置了注册);否则为 true bool
login 登录流的配置设置。 LoginScopes
注册 Apple 注册的配置设置。 AppleRegistration

LoginScopes

名称 说明
范围 身份验证时应请求的范围列表。 string[]

AppleRegistration

名称 说明
clientId 用于登录的应用的客户端 ID。 string
clientSecretSettingName 包含客户端密码的应用设置名称。 字符串

AzureActiveDirectory

名称 说明
enabled false 如果不应启用 Azure Active Directory 提供程序(尽管设置了注册);否则为 true bool
isAutoProvisioned 获取一个值,该值指示是否使用第一方工具自动预配 Azure AD 配置。
这是一个内部标志,主要用于支持 Azure 管理门户。 用户不应
读取或写入此属性。
bool
login Azure Active Directory 登录流的配置设置。 AzureActiveDirectoryLogin
注册 Azure Active Directory 应用注册的配置设置。 AzureActiveDirectoryRegistration
validation Azure Active Directory 令牌验证流的配置设置。 AzureActiveDirectoryValidation

AzureActiveDirectoryLogin

名称 说明
disableWWWAuthenticate true 如果请求中应省略 www-authenticate 提供程序,则为 ;否则为 false bool
loginParameters 在以下情况下要发送到 OpenID Connect 授权终结点的登录参数
用户登录。 每个参数必须采用“key=value”格式。
string[]

AzureActiveDirectoryRegistration

名称 说明
clientId 此信赖方应用程序的客户端 ID,称为client_id。
若要使用 Azure Active Directory 或 启用 OpenID 连接身份验证,需要此设置
其他第三方 OpenID Connect 提供程序。
有关 OpenID Connect 的详细信息: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecretCertificateIssuer 客户端机密指纹的替代方法,即用于签名的证书的颁发者。 此属性充当
客户端机密证书指纹的替代项。 这也是可选的。
字符串
clientSecretCertificateSubjectAlternativeName 客户端机密指纹的替代方法,即用于签名的证书的使用者可选名称。 此属性充当
客户端机密证书指纹的替代项。 这也是可选的。
字符串
clientSecretCertificateThumbprint 客户端密码的替代方法,即用于签名的证书的指纹。 此属性充当
客户端密码的替代项。 这也是可选的。
string
clientSecretSettingName 包含信赖方应用程序的客户端密码的应用设置名称。 字符串
openIdIssuer OpenID Connect 颁发者 URI,表示为此应用程序颁发访问令牌的实体。
使用 Azure Active Directory 时,此值是目录租户的 URI,例如 https://login.microsoftonline.com/v2.0/{tenant-guid}/.
此 URI 是令牌颁发者的区分大小写的标识符。
有关 OpenID Connect 发现的详细信息: http://openid.net/specs/openid-connect-discovery-1_0.html
string

AzureActiveDirectoryValidation

名称 说明
allowedAudiences 可以成功发出身份验证/授权请求的访问群体列表。 string[]
defaultAuthorizationPolicy 默认授权策略的配置设置。 DefaultAuthorizationPolicy
jwtClaimChecks 验证 JWT 声明时应进行的检查的配置设置。 JwtClaimChecks

DefaultAuthorizationPolicy

名称 说明
allowedApplications Azure Active Directory 允许的应用程序的配置设置。 string[]
allowedPrincipals Azure Active Directory 允许的主体的配置设置。 AllowedPrincipals

AllowedPrincipals

名称 说明
groups 允许的组的列表。 string[]
identities 允许的标识的列表。 string[]

JwtClaimChecks

名称 说明
allowedClientApplications 允许的客户端应用程序的列表。 string[]
allowedGroups 允许的组的列表。 string[]

AzureStaticWebApps

名称 说明
enabled false如果尽管设置了注册,但不应启用Azure Static Web Apps提供程序,则为 ;否则为 true bool
注册 Azure Static Web Apps注册的配置设置。 AzureStaticWebAppsRegistration

AzureStaticWebAppsRegistration

名称 说明
clientId 用于登录的应用的客户端 ID。 字符串

Facebook

名称 说明
enabled false如果尽管设置了注册,但不应启用Facebook提供程序,则为 ;否则为 true bool
graphApiVersion 登录时要使用的 Facebook API 的版本。 string
login 登录流的配置设置。 LoginScopes
注册 Facebook提供程序的应用注册的配置设置。 AppRegistration

AppRegistration

名称 说明
appId 用于登录的应用的应用 ID。 string
appSecretSettingName 包含应用机密的应用设置名称。 字符串

GitHub

名称 说明
enabled false 如果不应启用 GitHub 提供程序(尽管设置了注册);否则为 true bool
login 登录流的配置设置。 LoginScopes
注册 GitHub 提供程序的应用注册的配置设置。 ClientRegistration

ClientRegistration

名称 说明
clientId 用于登录的应用的客户端 ID。 字符串
clientSecretSettingName 包含客户端密码的应用设置名称。 字符串

Google

名称 说明
enabled false 如果尽管设置了注册,但不应启用 Google 提供程序,则为 ;否则为 true bool
login 登录流的配置设置。 LoginScopes
注册 Google 提供程序的应用注册的配置设置。 ClientRegistration
validation Azure Active Directory 令牌验证流的配置设置。 AllowedAudiencesValidation

AllowedAudiencesValidation

名称 说明
allowedAudiences 要从中验证 JWT 令牌的访问群体的允许列表的配置设置。 string[]

LegacyMicrosoftAccount

名称 说明
enabled false 如果尽管设置了注册,但不应启用旧版 Microsoft 帐户提供程序,则为 ;否则为 true bool
login 登录流的配置设置。 LoginScopes
注册 旧版 Microsoft 帐户提供程序的应用注册的配置设置。 ClientRegistration
validation 旧版 Microsoft 帐户提供程序令牌验证流的配置设置。 AllowedAudiencesValidation

Twitter

名称 说明
enabled false 如果尽管设置了注册,但不应启用 Twitter 提供程序,则为 ;否则为 true bool
注册 Twitter 提供程序的应用注册的配置设置。 TwitterRegistration

TwitterRegistration

名称 说明
consumerKey 用于登录的 Twitter 应用程序的 OAuth 1.0a 使用者密钥。
启用 Twitter 登录需要此设置。
Twitter Sign-In 文档: https://dev.twitter.com/web/sign-in
字符串
consumerSecretSettingName 包含 Twitter 的 OAuth 1.0a 使用者机密的应用设置名称
用于登录的应用程序。
string

登录

名称 说明
allowedExternalRedirectUrls 可在登录或注销应用时重定向到的外部 URL。 请注意,将忽略 URL 的查询字符串部分。
这是一种高级设置,通常只有 Windows 应用商店应用程序后端才需要。
请注意,始终隐式允许当前域中的 URL。
string[]
cookieExpiration 会话 Cookie 过期的配置设置。 CookieExpiration
nonce 登录流中使用的 nonce 的配置设置。 Nonce
preserveUrlFragmentsForLogins true 如果在发出登录请求后保留请求中的片段,则为 ;否则为 false bool
routes 指定用于登录和注销请求的终结点的路由。 LoginRoutes
tokenStore 令牌存储的配置设置。 TokenStore

CookieExpiration

名称 说明
公约 确定会话 Cookie 过期时使用的约定。 “FixedTime”
“IdentityProviderDerived”
timeToExpiration 发出请求后会话 Cookie 应过期的时间。 字符串

Nonce

名称 说明
nonceExpirationInterval 发出请求后,nonce 应过期的时间。 string
validateNonce false 如果在完成登录流时不应验证 nonce,则为 ;否则为 true bool

LoginRoutes

名称 说明
logoutEndpoint 应在其中发出注销请求的终结点。 string

TokenStore

名称 说明
azureBlobStorage 如果使用 Blob 存储,则为令牌存储的配置设置。 BlobStorageTokenStore
enabled true 用于持久存储登录流期间获取的平台特定安全令牌;否则为 false
默认为 false
bool
fileSystem 使用文件系统时令牌存储的配置设置。 FileSystemTokenStore
tokenRefreshExtensionHours 会话令牌过期后可以使用会话令牌的小时数
调用令牌刷新 API。 默认值为 72 小时。
int

BlobStorageTokenStore

名称 说明
sasUrlSettingName 包含包含令牌的 Blob 存储的 SAS URL 的应用设置的名称。 字符串

FileSystemTokenStore

名称 说明 Value
目录 将存储令牌的目录。 string

AuthPlatform

名称 说明
configFilePath 包含身份验证设置的配置文件的路径(如果它们来自文件)。
如果路径是相对路径,则 base 将作为站点的根目录。
string
enabled true 如果为当前应用启用了身份验证/授权功能,则为 ;否则为 false bool
runtimeVersion 当前应用使用的身份验证/授权功能的 RuntimeVersion。
此值中的设置可以控制身份验证/授权模块中某些功能的行为。
字符串