ApiResource vs ApiScope vs IdentityResource

Hap*_*per 10 c# identityserver4

我已经阅读了IdentityServer4文档,但我不明白这三个概念之间的确切区别是什么。(ApiResource vs ApiScope vs IdentityResource)

1- 正如文档中所说,API Scope为 OAuth 范围建模。和 API Resource 对 API 资源进行建模。那么 OAuth 范围和 API 资源有什么区别呢?

2-此外,正如我在文档的这一部分中所理解的,AllowsScope在身份服务器中的客户端定义中,我们必须添加 IdentityResources。那么Identity资源的具体用途是什么?

3-如果我向客户端添加一些 IdentityResources AllowsScopes,我如何在客户端看到这些资源?

我是 Identity Server 的初学者,这意味着我的问题可能是初级的。但请回答它,我已经搜索了很多,但没有地方完全解释这些概念。比如这里是Identity资源的定义!

And*_*ndy 19

下所列范围IdentityResources是将被包括在ID-令牌作用域。

ApiScopes是您作为客户和您同意的用户所要求的。或者,一个或多个ApiResources可以与ApiScope相关联。

ApiScopeApiResources什么是包含在访问令牌控制。ApiResources 指出访问令牌中的aud声明将包含什么。

总而言之,客户端发送的范围是 IdentityResources 和 ApiScopes 的列表。

在此处输入图片说明

  • 我看这里的文档,和你说的相反,ApiResource,可以指出一个或多个ApiScope。我对吗?https://identityserver4.readthedocs.io/en/latest/topics/resources.html#api-resources (2认同)
  • 我澄清了文字和图像,从逻辑上讲,一个 ApiScopes 包含零个或多个 ApiResources。但在代码中,ApiResource 选择它们所属的 ApiScope。 (2认同)
  • 范围是您作为客户所要求的,然后是映射到身份资源和 ApiScope 的范围。换句话说,范围是 IdentityResources 和 ApiScopes 的列表。 (2认同)