ディスカバリー

この発見文書はhttps://baseaddress/.well-known/openid-configurationにあります。これには、IdentityServerのエンドポイント、主要マテリアルおよび機能に関する情報が含まれています。

デフォルトでは、すべての情報が検出文書に含まれますが、設定オプションを使用することで、個々のセクションを非表示にすることができます。

services.AddIdentityServer(options =>
{
    options.Discovery.ShowIdentityScopes = false;
    options.Discovery.ShowApiScopes = false;
    options.Discovery.ShowClaims = false;
    options.Discovery.ShowExtensionGrantTypes = false;
});

ディスカバリーを拡張する

ディスカバリドキュメントにカスタムエントリを追加することができます。例:

services.AddIdentityServer(options =>
{
    options.Discovery.CustomEntries.Add("my_setting", "foo");
    options.Discovery.CustomEntries.Add("my_complex_setting",
        new
        {
            foo = "foo",
            bar = "bar"
        });
});

〜/で始まるカスタム値を追加すると、IdentityServerのベースアドレス以下の絶対パスに展開されます。

options.Discovery.CustomEntries.Add("my_custom_endpoint", "~/custom");

ディスカバリー(およびjwks)文書のレンダリングを完全に制御したい場合は、IDiscoveryResponseGenerator インターフェースを実装する(またはデフォルトの実装から派生させる)ことができます。