AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1064039
Accepted
Falcon Momot
Falcon Momot
Asked: 2021-05-19 17:43:48 +0800 CST2021-05-19 17:43:48 +0800 CST 2021-05-19 17:43:48 +0800 CST

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

  • 772

我试图从标头中获取不记名令牌 Easy Auth 注入到我的 Azure 应用程序服务的请求中,以提供想要对我的应用程序进行 API 调用的用户,但是来自 X-MS-TOKEN 中提供的令牌存储的令牌- AAD-ACCESS-TOKEN 无效。它采用某种内部或加密格式,以 JWT 开头PAQABAAAAAAD--而ey不像 JWT。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

该怎么办?

azure-active-directory azure-app-services
  • 1 1 个回答
  • 1047 Views

1 个回答

  • Voted
  1. Best Answer
    Falcon Momot
    2021-05-19T17:43:48+08:002021-05-19T17:43:48+08:00

    请注意,资源管理器想要 PUT 请求的 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

    清除您的 cookie 并返回您的应用服务。您将拥有一个可用的不记名令牌。

    • 0

相关问题

  • Azure AD Connect 导入

  • 现有 On-Prem 和 Office 365 之间的 DirSync

  • 在 Azure 上托管 TFS

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve