gpt4 book ai didi

javascript - 如何使用 Azure AD 授权流程正确分配访问 token 的权限?

转载 作者:行者123 更新时间:2023-12-03 06:12:00 24 4
gpt4 key购买 nike

我正在构建一个小型 nextjs 应用程序,其流程如下:

  • 使用 next-auth 通过 Azure 广告登录用户
  • 使用登录时的访问 token ,允许用户使用应用程序中的按钮触发 SQL 数据库同步

到目前为止,我可以很好地登录用户。但是,当我触发同步时,我收到 401 错误代码和以下消息:Bearerauthorization_uri="https://login.windows.net/7fa9636e-d679-4ddb-8a64-ea9ca3b3d21b", error="invalid_token", error_description="无法找到访问 token 的身份。"

我相信我已经正确配置了azure。我已将以下 API 权限添加到 Azure 门户中的应用程序注册:

- Azure SQL Database (user_impersonation)
- Azure Service Management (user_impersonation)
- Microsoft Graph (email, openid, profile, User.Read)

我已将以下范围添加到 Next-auth 选项中的授权参数中:

params: {scope: "User.Read User.Read.All offline_access .default",},

通过以下 URL,您可以登录并测试此过程。 ( https://learn.microsoft.com/en-us/rest/api/sql/2021-02-01-preview/sync-groups/trigger-sync?tabs=HTTP ) 我可以很好地登录并使用该网站生成的不记名 token 发出请求。如果我使用 azure 门户生成的不记名 token ,则通过 Postman 发出具有相同参数的请求就可以正常工作。当我尝试使用通过网络应用程序生成的不记名 token 时,我收到相同的 401 错误。

我还可能错过什么?

最佳答案

我相信您收到此错误的原因是因为您正在使用为不同范围获取的访问 token 来执行 Azure 资源管理器操作。

对于 Azure 资源管理器操作,必须为 https://management.azure.com/user_impersonation 范围获取 token 。请尝试获取正确范围的 token ,您应该不会收到错误。

关于javascript - 如何使用 Azure AD 授权流程正确分配访问 token 的权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76673033/

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