本文介绍如何在 应用服务中自定义内置身份验证和授权的 API 和运行时版本。
用于应用服务身份验证的管理 API 有两个版本。 Azure 门户中的身份验证体验需要 V2 版本。 在进行一些更改后,已使用 V1 API 的应用可以升级到 V2 版本。 具体而言,必须将机密配置移至槽粘滞应用程序设置。 可以从门户中应用的 “身份验证 ”部分自动移动机密配置。
将应用固定到特定身份验证运行时版本
启用身份验证/授权时,会将平台中间件注入 HTTP 请求管道,如功能概述中所述。 作为平台例常更新的一部分,此平台中间件会定期更新新功能和改进。 默认情况下,Web 或函数应用在此平台中间件的最新版本上运行。 这些自动更新始终向后兼容。 但在极少情况下,此自动更新会引入 Web 或函数应用的运行时问题,此时可以暂时回滚到以前的中间件版本。 本部分介绍如何暂时将应用固定到身份验证中间件的特定版本。
自动和手动版本更新
可以通过为应用配置 runtimeVersion 设置,将应用固定到平台中间件的特定版本。 除非你选择将应用显式固定到特定版本,否则你的应用始终在最新版本上运行。 同时支持多个版本。 如果您锁定到一个无效且不再受支持的版本,应用程序将会改用最新版本。 若要始终运行最新版本,请设置为 runtimeVersion~1。
查看和更新当前运行时版本
可以更改应用使用的运行时版本。 重启应用后,新的运行时版本应生效。
查看当前运行时版本
可以使用 Azure CLI 或通过应用中的内置版本 HTTP 终结点之一来查看平台身份验证中间件的当前版本。
通过 Azure CLI
使用 Azure CLI,使用 az webapp auth show 命令查看当前中间件版本。
az webapp auth show --name <my_app_name> \
--resource-group <my_resource_group>
在此代码中,使用你的应用的名称替换 <my_app_name>。 将 <my_resource_group> 替换为您的应用的资源组名称。
你将在 CLI 输出中看到 runtimeVersion 字段。 它类似于以下示例输出,为了清楚起见,该输出将被截断:
{
"additionalLoginParams": null,
"allowedAudiences": null,
...
"runtimeVersion": "1.3.2",
...
}
通过版本终结点
还可以在应用上命中 /.auth/version 终结点,以查看应用正在运行的当前中间件版本。 输出将如下所示:
{
"version": "1.3.2"
}
更新当前运行时版本
使用 Azure CLI,可以使用 runtimeVersion 命令更新应用中的设置:
az webapp auth update --name <my_app_name> \
--resource-group <my_resource_group> \
--runtime-version <version>
将 <my_app_name> 替换为你的应用的名称。 将 <my_resource_group> 替换为您的应用的资源组名称。 替换 <version> 为 1.x 运行时的有效版本,或者使用 ~1 以获得最新版本。 若要确定 Azure Functions 应锁定到的版本,请参阅 Azure Functions 运行时版本概述。
可以在执行 az login 登录后在本地使用 Azure CLI 执行此命令。