通常,当阅读有关OAuth2的信息时,您可以找到应该在作用域中定义权限的信息,以准确地说明所需的内容。我最近在他们的Azure门户中研究了微软是如何做到这一点的。事实证明,在访问门户时,我得到的唯一范围是"user_impersonation“。为什么会这样呢?我的猜测是,如果令牌包含所有权限作为作用域,那么令牌就太大了?
更广泛地说,在我看来,在OAuth2中至少有两种处理授权的方法:
微软似乎正在使用第二种方法。不幸的是,我没有找到任何关于这样做的信息。有什么好的资料可供阅读吗?到目前为止,正如我所说的,我看到的所有资源都说您应该将权限作为作用域。
发布于 2022-03-02 10:48:32
对于Azure中大多数服务的API权限,您可以看到User_Impersonation委托的权限。这是因为user_impersonation权限足以代表签名的用户访问特定的服务API。
对于MicrosoftGraph等其他服务,您可以看到许多其他权限,如user.read、 user.read等,
在OAuth流中生成访问令牌时,可以使用为应用程序注册添加的权限添加范围。将使用这些权限生成令牌。
https://stackoverflow.com/questions/71159332
复制相似问题