gpt4 book ai didi

Azure AAD 应用程序可以在不使用 token 授予权限的情况下访问管理应用程序

转载 作者:行者123 更新时间:2023-12-03 04:49:40 37 4
gpt4 key购买 nike

我有两个 Azure 广告应用:

1) Admin/BackendApp 保护我的 webapi

2) 消费者应用程序将使用我的 webapi

当我尝试使用以下 URL 创建的 token 访问我的 Web api 时,传递所需的 ClientID、ClientSecret、Resource 和 grant_type=client_credentials

https://login.microsoftonline.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/oauth2/token

我从上面的 url 获取访问 token ,并将该 token 作为授权 header 传递给我的 webapi,我得到成功的响应,而无需授予对 admin/backendapp 的任何访问权限。

最佳答案

需要检查 token 中的有效范围/角色!

在 Azure AD 中定义 API 的委派/应用权限,并在您的 API 中强制执行。最好进行全局检查以确保 token 至少包含一项有效权限。

只要知道您的租户 ID 和客户端 ID,任何租户中的应用程序都可以获取您的 API 的 token 。如果您不检查权限,您的 API 很容易受到攻击!

我有一篇关于如何在 ASP.NET Core 中定义和强制执行范围的文章:https://joonasw.net/view/azure-ad-authentication-aspnet-core-api-part-1

关于Azure AAD 应用程序可以在不使用 token 授予权限的情况下访问管理应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56179661/

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