2017-02-15 129 views
1

我正在研究构建一个实现IdentityServer的接口的类IResourceStore。我的目标是按照自定义存储库中定义的服务IdentityResourceApiResource集合。IdentityServer4,IResourceStore.GetAllResources()

理想情况下,我将收到有关这些资源的请求并回复与查询相关的子集。简而言之:你只得到你要求的东西。

GetAllResources()方法让我很诧异:IdentityServer实际上是否需要从我的存储库中提取整套我的标识和API资源并使其可用?在这一点上,我不知道这些集合会增长多少,或者将它们从存储库中拉出来的成本。

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

-S

回答

2

它在IResourceStoreExtensions类,而这又是使用由DiscoveryEndpointGetAllEnabledResourcesAsync方法中使用。因此,如果您未实施此方法,则发现端点将无法显示任何范围或声明。

通过不执行我的意思是返回一些空列表或其他东西,而不是抛出NotImplementedException或返回null ...这将打破一切。

+0

啊,这是有道理的。谢谢! –