如何通过Azure CLI启用App Service身份验证并创建应用注册?
使用Azure CLI配置App Service身份提供商
Azure门户里的「添加身份提供商」一键操作,本质是后台自动完成了创建Azure AD应用注册和配置App Service身份验证设置这两个环节。用Azure CLI的话,确实没有和门户完全一致的单命令一键操作,但可以通过两条核心命令完成,或者封装脚本实现类似的自动化效果。
操作步骤
1. 创建Azure AD应用注册(无现成应用时执行)
如果还没有对应的Azure AD应用注册,执行以下命令创建(替换占位符内容):
az ad app create --display-name "你的应用注册名称" --web-redirect-uris "https://<你的App Service名称>.azurewebsites.net/.auth/login/aad/callback"
执行后会返回appId(客户端ID),请记录下来;若需要客户端密钥,再执行:
az ad app credential reset --id <上面的appId> --query password -o tsv
这条命令会生成并返回客户端密钥。
2. 配置App Service身份验证
用az webapp auth update命令完成身份提供商配置(以Azure AD为例,替换占位符):
az webapp auth update --name <你的App Service名称> --resource-group <你的资源组名称> --enabled true \ --aad-client-id <应用注册的appId> --aad-client-secret <生成的客户端密钥> \ --aad-tenant-id <你的Azure租户ID> --action LoginWithAzureActiveDirectory
租户ID可通过az account show --query tenantId -o tsv命令获取。
实现“一键式”体验的方法
如果想要接近门户的一键操作,可以把上述步骤封装成脚本。比如bash脚本示例:
#!/bin/bash # 替换成你的资源信息 APP_SERVICE_NAME="my-app-service" RESOURCE_GROUP="my-resource-group" APP_REG_NAME="my-app-reg" # 创建应用注册并获取appId APP_ID=$(az ad app create --display-name $APP_REG_NAME --web-redirect-uris "https://$APP_SERVICE_NAME.azurewebsites.net/.auth/login/aad/callback" --query appId -o tsv) # 生成客户端密钥 CLIENT_SECRET=$(az ad app credential reset --id $APP_ID --query password -o tsv) # 获取租户ID TENANT_ID=$(az account show --query tenantId -o tsv) # 配置App Service身份验证 az webapp auth update --name $APP_SERVICE_NAME --resource-group $RESOURCE_GROUP --enabled true \ --aad-client-id $APP_ID --aad-client-secret $CLIENT_SECRET \ --aad-tenant-id $TENANT_ID --action LoginWithAzureActiveDirectory echo "身份提供商配置完成!"
总结
- 没有单条Azure CLI命令能直接复刻门户的一键流程,必须分步骤(或脚本整合)执行
- 核心逻辑就是先完成Azure AD应用注册,再配置App Service的身份验证设置
内容的提问来源于stack exchange,提问作者user433342
相关产品推荐
相关产品推荐

