APIリソース¶
このクラスはAPIリソースをモデル化します。
Enabled- このリソースが有効であり、要求できるかどうかを示します。デフォルトはtrueです。
Name- APIの一意の名前。この値はイントロスペクションでの認証に使用され、発信アクセストークンのオーディエンスに追加されます。
DisplayName- この値は、例えば同意画面で使用できます。
Description- この値は、例えば同意画面で使用できます。
ApiSecrets- イントロスペクションエンドポイントにはAPIシークレットが使用されます。APIは、API名とシークレットを使用してイントロスペクションで認証できます。
UserClaims- アクセストークンに含める必要がある、関連するユーザークレームタイプのリスト。
Scopes- APIには少なくとも1つのスコープが必要です。各スコープは異なる設定を持つことができます。
Scopes¶
単純なケースでは、APIのスコープは1つだけです。しかし、APIの機能を細かく分割して、異なるクライアントが異なる部分にアクセスできるようにしたい場合があります。
Name- The unique name of the scope. This is the value a client will use for the scope parameter in the authorize/token request.
DisplayName- この値は、例えば同意画面で使用できます。
Description- この値は、例えば同意画面で使用できます。
Required- 同意画面でスコープの選択を解除できるかどうかを指定します(同意画面でそのような機能を実装したい場合)。デフォルトはfalseです。
Emphasize- 同意画面がこの範囲を強調するかどうかを指定します(同意画面でそのような機能を実装したい場合)。この設定は、機密または重要なスコープに使用します。デフォルトはfalseです。
ShowInDiscoveryDocument- このスコープが検出文書に表示されるかどうかを指定します。デフォルトはtrueです。
UserClaims- List of associated user claim types that should be included in the access token. The claims specified here will be added to the list of claims specified for the API.
コンビニエンスコンストラクタの動作¶
ApiResourceクラスに提供されたコンストラクタについてのメモ。
のデータを完全に制御するにはApiResource、パラメータなしのデフォルトのコンストラクタを使用します。APIごとに複数のスコープを設定する場合は、この方法を使用します。例えば:
new ApiResource
{
Name = "api2",
Scopes =
{
new Scope()
{
Name = "api2.full_access",
DisplayName = "Full access to API 2"
},
new Scope
{
Name = "api2.read_only",
DisplayName = "Read only access to API 2"
}
}
}
APIごとに1つのスコープしか必要としない簡単なシナリオでは、aを受け入れるいくつかの便利なコンストラクタnameが提供されます。例えば:
new ApiResource("api1", "Some API 1")
便利なコンストラクタの使い方は次のようになります:
new ApiResource
{
Name = "api1",
DisplayName = "Some API 1",
Scopes =
{
new Scope()
{
Name = "api1",
DisplayName = "Some API 1"
}
}
}