无法使用 Azure 资源编辑器更新已迁移到身份验证版本 2 的应用服务上的 additionalLoginParams

无法使用 Azure 资源编辑器更新已迁移到身份验证版本 2 的应用服务上的 additionalLoginParams

我试图从 Easy Auth 注入到我的 Azure App Service 请求中的标头中获取承载令牌,以便为想要对我的应用程序进行 API 调用的用户提供服务,但 X-MS-TOKEN-AAD-ACCESS-TOKEN 中提供的令牌存储中的令牌无效。它采用某种内部或加密格式,以 和 开头,PAQABAAAAAAD--不像eyJWT。X-MS-TOKEN-AAD-ID-TOKEN 有效,但当我访问 时它不会更新/.auth/refresh

我尝试按照以下说明进行操作http://jsandersblog.azurewebsites.net/2020/01/17/easy-auth-using-x-ms-token-aad-access-token-as-a-bearer-token/获取真正的承载令牌,但资源浏览器给了我这个:

Cannot execute the request for site ... because the site is running on auth version v2

该怎么办?

答案1

请注意,资源管理器想要将请求发送到的 API 版本是旧的:

subscriptions/<subscription_id>/resourceGroups/<group_name>/providers/Microsoft.Web/sites/<site_name>/config/authsettings?api-version=2018-02-01

他们提供了一个新的,尽管很难发现这一点。

我不知道他们为什么花了这么长时间才更新他们的工具。但是你现在必须使用 CLI 进行更改(如果你没有,请前往https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?tabs=azure-cli)。

做:

az login
az rest --method GET --url "https://management.azure.com/subscriptions/<subscription_id>/resourceGroups/<group_name>/providers/Microsoft.Web/sites/<site_name>/config/authsettingsv2/list?api-version=2020-09-01"

是的,他们已更新为使用 GET 而不是 POST 来获取您的配置。请注意 URL 中的“authsettingsv2”。这是所有工具都不支持的新部分。

将配置复制到编辑器中,并进行所需的更改。架构如下:https://docs.microsoft.com/en-us/azure/templates/microsoft.web/sites/config-authsettingsv2?tabs=json

如果您尝试按照 additionalLoginParams 设置建议获取正确的 AAD 持有者令牌,则应修改 parameters.azureActiveDirectory.login 并添加 loginParameters,如下所示:

  "azureActiveDirectory": {
    "enabled": true,
    "isAutoProvisioned": true,
    "login": {
      "disableWWWAuthenticate": false,
      "loginParameters": [
        "resource=<clientId from the velow registration block>"
      ]
    }, ...

将其保存为工作目录或任何其他目录中的 authsettingsv2.json,然后将其存放起来:

az rest --method PUT --url "https://management.azure.com/subscriptions/<subscription_id>/resourceGroups/<group_name>/providers/Microsoft.Web/sites/<site_name>/config/authsettingsv2?api-version=2020-09-01" --body @./authsettingsv2.json

清除您的 cookies 并返回到您的应用服务。您将获得一个可用的承载令牌。

相关内容