2017-02-15 14 views
1

私はIdentityServer IResourceStoreインターフェイスを実装するクラスを構築しています。私の目標は、カスタムリポジトリで定義されたIdentityResourceApiResourceのコレクションを提供することです。IdentityServer4、IResourceStore.GetAllResources()

理想的には、私はこれらのリソースに対する要求を受け取り、クエリに関連するサブセットで応答します。要するに:あなたはあなたが求めるものだけを得る。

GetAllResources()メソッドを使用すると、IdentityServerは実際に自分のIDとAPIリソースの全セットをリポジトリから取得し、これを利用できるようにする必要がありますか?現時点では、これらのコレクションがどれだけ大きくなるか、またはそれらをリポジトリから引き出すコストはわかりません。

リソースの空または空のリストで単純に応答するとどうなりますか?

-S

答えて

2

これは、順番にDiscoveryEndpointで使用されているIResourceStoreExtensionsクラスのGetAllEnabledResourcesAsync方法で使用しています。したがって、このメソッドを実装しないと、ディスカバリエンドポイントはスコープやクレームを表示できなくなります。

私が実装していないのは、空リストまたは何かを返すことです。NotImplementedExceptionを投げたり、nullを返したりしないでください。

+0

ああ、意味があります。ありがとう! –