适用于Azure API管理和Oauth2的API验证

nafvub8i  于 2023-10-15  发布在  其他
关注(0)|答案(1)|浏览(97)

我正在为一个简单的Azure API Management GET API实现Oauth2。因为我跟着this video。我的设置工作正常,但我不了解应用程序角色和API权限。
因此,教师创建2个应用程序注册:

  • 一个用于APIM资源,并创建一个具有角色Reader的应用程序角色Reader
  • 一个是APIM客户端。对于客户端,它添加了API权限,并在管理员同意的情况下附加了Reader角色(3:33),还添加了User.Read.AllUser.ReadWrite.all的Graph权限(4:09)

现在一切正常,但我不理解这些权限,所以我删除了角色和所有权限(即使是默认权限:User.Read)。我仍然可以得到一个有效的承载令牌,我仍然可以使用它来进行GET调用,所以一切都还在工作。
我是否需要应用角色和这些权限?如果是,是哪一个,它们是什么意思,我如何尽可能地限制它?
也许重要的是要注意,我的客户端是另一个应用程序,而不是一个真实的登录用户。

tzdcorbm

tzdcorbm1#

App Role是自定义元数据,将包含在令牌中,可由应用程序用于自定义授权策略。例如,应用程序中某些功能的应用程序角色,如Admin
其他权限用于Microsoft Graph访问(User.Read和其他)。如果您的应用程序要调用Microsoft Graph API,例如,获取有关已登录用户或目录中其他用户的信息,则需要这些参数。
要登录,您只需要默认存在的openid范围。

相关问题