IdentityServer4,IResourceStore.GetAllResources()

IdentityServer4, IResourceStore.GetAllResources()

我正在考虑构建一个 class 实现 IdentityServer IResourceStore 接口。我的目标是提供自定义存储库中定义的 IdentityResourceApiResource 集合。

理想情况下,我会收到对这些资源的请求并用与查询相关的子集进行响应。简而言之:你只得到你所要求的。

GetAllResources()方法让我怀疑:IdentityServer 是否真的要求我从我的存储库中提取我的整套身份和 API 资源并使其可用?在这一点上,我不知道这些集合会增长到多大,也不知道从存储库中提取它们的成本。

简单地使用 null 或空的资源列表进行响应会产生什么后果?

-S

它在IResourceStoreExtensions class 的GetAllEnabledResourcesAsync 方法中使用,DiscoveryEndpoint 又使用它。因此,如果您不实施此方法,Discovery 端点将无法显示任何范围或声明。

不执行我的意思是 return 一些空列表或其他东西,而不是抛出 NotImplementedException 或 return null...那会破坏一切。