gpt4 book ai didi

azure - 当客户端在/.auth/login/aad 端点上发布访问 token 时,为什么 EasyAuth 返回 401 未经授权状态?

转载 作者:行者123 更新时间:2023-12-01 12:06:43 25 4
gpt4 key购买 nike

由于 Microsoft 不再支持他们的支持,我开始将 Live SDK 注册的应用程序迁移到新的应用程序注册门户:

Application Registration Portal

我进入 Azure 门户中的“应用程序注册(预览)”页面并选择创建新应用程序。

然后,我转到我的功能应用程序的 Authentication / Authorization页面放置新注册的AAD应用程序的信息。

我的客户端 iOS 应用程序正在获取 authorization code首先是有效的 access token从这些端点:

https://login.microsoftonline.com/<tenantId>/oauth2/v2.0/authorize

https://login.microsoftonline.com/<tenantId>/oauth2/v2.0/token

access token手中,iOS 应用程序正在尝试 POST AAD 端点 ( /.auth/login/aad ) 上的 token 但失败。

但是,如果我得到 authorization code和一个access token使用谷歌帐户然后 POST荷兰国际集团access token/.auth/login/google终点,成功。

问题

为什么 EasyAuth 返回 401 Unauthorized客户发布 access token 时的状态上/.auth/login/aad端点?

更新

我现在可以从此 token 端点 https://login.microsoftonline.com/<tenantId>/oauth2/v2.0/token 检索访问 token 并使用 Insomnia/PostmanPOST以下对象application/json/.auth/login/aad端点:

{
"access_token": "eY...."
}

我得到的回复是 401 Unauthorized带有以下消息:

You do not have the permission to view this directory or page.

我所遵循的程序与处理 Google 帐户的程序完全相同。我还确保我的注册应用程序允许来 self 的 Azure Active Directory 以及个人帐户的用户。以下是这些设置的屏幕截图:

AAD settings

最佳答案

简短回答:您应该使用“Azure Active Directory”身份验证提供程序,然后在两个位置正确配置详细信息:A) 您的函数应用程序和 B) Azure AD 应用程序注册。

详细步骤

我尝试通过应用程序注册(预览版)创建一个简单的经过 Azure AD 身份验证的 Azure 函数,并使用应用程序注册。这是我遵循的详细步骤。

A) Function App 的配置步骤

  1. 在 Azure 门户中,导航至 Function App > 平台功能 > 身份验证/授权

    enter image description here

  2. 从身份验证提供程序中选择 Azure Active Directory。在配置页面上,选择“高级”作为管理模式。

    ClientID - 从 Azure AD 应用注册中获取应用程序 ID

    发行人URL - https://sts.windows.net/<your Azure AD Tenant ID>/

    允许的 token 受众 - https://<yourfunctionappname>.azurewebsites.net/.auth/login/aad/callback

    客户端 key (可选)- 仅与 Web 应用程序相关。再次从 Azure AD 应用程序注册中选择 key / secret 值。

    enter image description here

B) Azure AD 应用注册的配置步骤

  1. 导航到 Azure AD > 应用注册(预览)> 您现有的应用注册 > 概述 >

    单击“重定向 URI”并添加我们在上面的“允许的 token 受众”中添加的值。

    https://<yourfunctionappname>.azurewebsites.net/.auth/login/aad/callback
  2. 导航到 Azure AD > 应用注册(预览)> 您现有的应用注册 > list > 编辑和设置

    "oauth2AllowIdTokenImplicitFlow": true

关于azure - 当客户端在/.auth/login/aad 端点上发布访问 token 时,为什么 EasyAuth 返回 401 未经授权状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55801331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com