openiddict-documentation/api/OpenIddict.Abstractions.IOpenIddictApplicationManager.html
2021-02-08 10:58:19 +00:00

2373 lines
98 KiB
HTML

<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Interface IOpenIddictApplicationManager
</title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Interface IOpenIddictApplicationManager
">
<meta name="generator" content="docfx 2.56.6.0">
<link rel="shortcut icon" href="../images/favicon.ico">
<link rel="stylesheet" href="../styles/docfx.vendor.css">
<link rel="stylesheet" href="../styles/docfx.css">
<link rel="stylesheet" href="../styles/main.css">
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<meta property="docfx:navrel" content="../toc.html">
<meta property="docfx:tocrel" content="toc.html">
</head> <body data-spy="scroll" data-target="#affix" data-offset="120">
<div id="wrapper">
<header>
<nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../images/logo.png" alt="">
</a> </div>
<div class="collapse navbar-collapse" id="navbar">
<form class="navbar-form navbar-right" role="search" id="search">
<div class="form-group">
<input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
</div>
</form>
</div>
</div>
</nav>
<div class="subnav navbar navbar-default">
<div class="container hide-when-search" id="breadcrumb">
<ul class="breadcrumb">
<li></li>
</ul>
</div>
</div>
</header>
<div role="main" class="container body-content hide-when-search">
<div class="sidenav hide-when-search">
<a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
<div class="sidetoggle collapse" id="sidetoggle">
<div id="sidetoc"></div>
</div>
</div>
<div class="article row grid-right">
<div class="col-md-10">
<article class="content wrap" id="_content" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager">
<h1 id="OpenIddict_Abstractions_IOpenIddictApplicationManager" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager" class="text-break">Interface IOpenIddictApplicationManager
</h1>
<div class="markdown level0 summary"><p>Provides methods allowing to manage the applications stored in the store.
Note: this interface is not meant to be implemented by custom managers,
that should inherit from the generic OpenIddictApplicationManager class.
It is primarily intended to be used by services that cannot easily depend
on the generic application manager. The actual application entity type
is automatically determined at runtime based on the OpenIddict core options.</p>
</div>
<div class="markdown level0 conceptual"></div>
<h6><strong>Namespace</strong>: <a class="xref" href="OpenIddict.Abstractions.html">OpenIddict.Abstractions</a></h6>
<h6><strong>Assembly</strong>: cs.temp.dll.dll</h6>
<h5 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public interface IOpenIddictApplicationManager</code></pre>
</div>
<h3 id="methods">Methods
</h3>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_CountAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.CountAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_CountAsync_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.CountAsync(CancellationToken)">CountAsync(CancellationToken)</h4>
<div class="markdown level1 summary"><p>Determines the number of applications that exist in the database.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;long&gt; CountAsync(CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.Int64</span>&gt;</td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation,
whose result returns the number of applications in the database.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_CountAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.CountAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_CountAsync__1_Func_IQueryable_System_Object__IQueryable___0___CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.CountAsync``1(Func{IQueryable{System.Object},IQueryable{``0}},CancellationToken)">CountAsync&lt;TResult&gt;(Func&lt;IQueryable&lt;Object&gt;, IQueryable&lt;TResult&gt;&gt;, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Determines the number of applications that match the specified query.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;long&gt; CountAsync&lt;TResult&gt;(Func&lt;IQueryable&lt;object&gt;, IQueryable&lt;TResult&gt;&gt; query, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">Func</span>&lt;<span class="xref">IQueryable</span>&lt;<span class="xref">System.Object</span>&gt;, <span class="xref">IQueryable</span>&lt;TResult&gt;&gt;</td>
<td><span class="parametername">query</span></td>
<td><p>The query to execute.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.Int64</span>&gt;</td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation,
whose result returns the number of applications that match the specified query.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">TResult</span></td>
<td><p>The result type.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_CreateAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.CreateAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_CreateAsync_OpenIddict_Abstractions_OpenIddictApplicationDescriptor_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.CreateAsync(OpenIddict.Abstractions.OpenIddictApplicationDescriptor,CancellationToken)">CreateAsync(OpenIddictApplicationDescriptor, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Creates a new application based on the specified descriptor.
Note: the default implementation automatically hashes the client
secret before storing it in the database, for security reasons.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;object&gt; CreateAsync(OpenIddictApplicationDescriptor descriptor, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="OpenIddict.Abstractions.OpenIddictApplicationDescriptor.html">OpenIddictApplicationDescriptor</a></td>
<td><span class="parametername">descriptor</span></td>
<td><p>The application descriptor.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.Object</span>&gt;</td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation,
whose result returns the unique identifier associated with the application.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_CreateAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.CreateAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_CreateAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.CreateAsync(System.Object,CancellationToken)">CreateAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Creates a new application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask CreateAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application to create.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span></td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_CreateAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.CreateAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_CreateAsync_System_Object_System_String_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.CreateAsync(System.Object,System.String,CancellationToken)">CreateAsync(Object, String, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Creates a new application.
Note: the default implementation automatically hashes the client
secret before storing it in the database, for security reasons.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask CreateAsync(object application, string secret, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application to create.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">secret</span></td>
<td><p>The client secret associated with the application, if applicable.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span></td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_DeleteAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.DeleteAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_DeleteAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.DeleteAsync(System.Object,CancellationToken)">DeleteAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Removes an existing application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask DeleteAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application to delete.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span></td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_FindByClientIdAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.FindByClientIdAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_FindByClientIdAsync_System_String_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.FindByClientIdAsync(System.String,CancellationToken)">FindByClientIdAsync(String, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves an application using its client identifier.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;object&gt; FindByClientIdAsync(string identifier, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">identifier</span></td>
<td><p>The client identifier associated with the application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.Object</span>&gt;</td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation,
whose result returns the client application corresponding to the identifier.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_FindByIdAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.FindByIdAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_FindByIdAsync_System_String_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.FindByIdAsync(System.String,CancellationToken)">FindByIdAsync(String, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves an application using its unique identifier.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;object&gt; FindByIdAsync(string identifier, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">identifier</span></td>
<td><p>The unique identifier associated with the application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.Object</span>&gt;</td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation,
whose result returns the client application corresponding to the identifier.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_FindByPostLogoutRedirectUriAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.FindByPostLogoutRedirectUriAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_FindByPostLogoutRedirectUriAsync_System_String_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.FindByPostLogoutRedirectUriAsync(System.String,CancellationToken)">FindByPostLogoutRedirectUriAsync(String, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves all the applications associated with the specified post_logout_redirect_uri.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">IAsyncEnumerable&lt;object&gt; FindByPostLogoutRedirectUriAsync(string address, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">address</span></td>
<td><p>The post_logout_redirect_uri associated with the applications.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">IAsyncEnumerable</span>&lt;<span class="xref">System.Object</span>&gt;</td>
<td><p>The client applications corresponding to the specified post_logout_redirect_uri.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_FindByRedirectUriAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.FindByRedirectUriAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_FindByRedirectUriAsync_System_String_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.FindByRedirectUriAsync(System.String,CancellationToken)">FindByRedirectUriAsync(String, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves all the applications associated with the specified redirect_uri.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">IAsyncEnumerable&lt;object&gt; FindByRedirectUriAsync(string address, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">address</span></td>
<td><p>The redirect_uri associated with the applications.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">IAsyncEnumerable</span>&lt;<span class="xref">System.Object</span>&gt;</td>
<td><p>The client applications corresponding to the specified redirect_uri.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetAsync__1_Func_IQueryable_System_Object__IQueryable___0___CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetAsync``1(Func{IQueryable{System.Object},IQueryable{``0}},CancellationToken)">GetAsync&lt;TResult&gt;(Func&lt;IQueryable&lt;Object&gt;, IQueryable&lt;TResult&gt;&gt;, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Executes the specified query and returns the first element.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;TResult&gt; GetAsync&lt;TResult&gt;(Func&lt;IQueryable&lt;object&gt;, IQueryable&lt;TResult&gt;&gt; query, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">Func</span>&lt;<span class="xref">IQueryable</span>&lt;<span class="xref">System.Object</span>&gt;, <span class="xref">IQueryable</span>&lt;TResult&gt;&gt;</td>
<td><span class="parametername">query</span></td>
<td><p>The query to execute.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;TResult&gt;</td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation,
whose result returns the first element returned when executing the query.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">TResult</span></td>
<td><p>The result type.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetAsync__2_Func_IQueryable_System_Object____0_IQueryable___1_____0_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetAsync``2(Func{IQueryable{System.Object},``0,IQueryable{``1}},``0,CancellationToken)">GetAsync&lt;TState, TResult&gt;(Func&lt;IQueryable&lt;Object&gt;, TState, IQueryable&lt;TResult&gt;&gt;, TState, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Executes the specified query and returns the first element.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;TResult&gt; GetAsync&lt;TState, TResult&gt;(Func&lt;IQueryable&lt;object&gt;, TState, IQueryable&lt;TResult&gt;&gt; query, TState state, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">Func</span>&lt;<span class="xref">IQueryable</span>&lt;<span class="xref">System.Object</span>&gt;, TState, <span class="xref">IQueryable</span>&lt;TResult&gt;&gt;</td>
<td><span class="parametername">query</span></td>
<td><p>The query to execute.</p>
</td>
</tr>
<tr>
<td><span class="xref">TState</span></td>
<td><span class="parametername">state</span></td>
<td><p>The optional state.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;TResult&gt;</td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation,
whose result returns the first element returned when executing the query.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">TState</span></td>
<td><p>The state type.</p>
</td>
</tr>
<tr>
<td><span class="parametername">TResult</span></td>
<td><p>The result type.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetClientIdAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetClientIdAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetClientIdAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetClientIdAsync(System.Object,CancellationToken)">GetClientIdAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves the client identifier associated with an application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;string&gt; GetClientIdAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.String</span>&gt;</td>
<td><p>A <see cref="!:ValueTask&lt;TResult>"></see> that can be used to monitor the asynchronous operation,
whose result returns the client identifier associated with the application.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetClientTypeAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetClientTypeAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetClientTypeAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetClientTypeAsync(System.Object,CancellationToken)">GetClientTypeAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves the client type associated with an application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;string&gt; GetClientTypeAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.String</span>&gt;</td>
<td><p>A <see cref="!:ValueTask&lt;TResult>"></see> that can be used to monitor the asynchronous operation,
whose result returns the client type of the application (by default, &quot;public&quot;).</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetConsentTypeAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetConsentTypeAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetConsentTypeAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetConsentTypeAsync(System.Object,CancellationToken)">GetConsentTypeAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves the consent type associated with an application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;string&gt; GetConsentTypeAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.String</span>&gt;</td>
<td><p>A <see cref="!:ValueTask&lt;TResult>"></see> that can be used to monitor the asynchronous operation,
whose result returns the consent type of the application (by default, &quot;explicit&quot;).</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetDisplayNameAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetDisplayNameAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetDisplayNameAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetDisplayNameAsync(System.Object,CancellationToken)">GetDisplayNameAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves the display name associated with an application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;string&gt; GetDisplayNameAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.String</span>&gt;</td>
<td><p>A <see cref="!:ValueTask&lt;TResult>"></see> that can be used to monitor the asynchronous operation,
whose result returns the display name associated with the application.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetDisplayNamesAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetDisplayNamesAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetDisplayNamesAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetDisplayNamesAsync(System.Object,CancellationToken)">GetDisplayNamesAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves the localized display names associated with an application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;ImmutableDictionary&lt;CultureInfo, string&gt;&gt; GetDisplayNamesAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">ImmutableDictionary</span>&lt;<span class="xref">CultureInfo</span>, <span class="xref">System.String</span>&gt;&gt;</td>
<td><p>A <see cref="!:ValueTask&lt;TResult>"></see> that can be used to monitor the asynchronous operation,
whose result returns all the localized display names associated with the application.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetIdAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetIdAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetIdAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetIdAsync(System.Object,CancellationToken)">GetIdAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves the unique identifier associated with an application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;string&gt; GetIdAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.String</span>&gt;</td>
<td><p>A <see cref="!:ValueTask&lt;TResult>"></see> that can be used to monitor the asynchronous operation,
whose result returns the unique identifier associated with the application.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetLocalizedDisplayNameAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetLocalizedDisplayNameAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetLocalizedDisplayNameAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetLocalizedDisplayNameAsync(System.Object,CancellationToken)">GetLocalizedDisplayNameAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves the localized display name associated with an application
and corresponding to the current UI culture or one of its parents.
If no matching value can be found, the non-localized value is returned.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;string&gt; GetLocalizedDisplayNameAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.String</span>&gt;</td>
<td><p>A <see cref="!:ValueTask&lt;TResult>"></see> that can be used to monitor the asynchronous operation,
whose result returns the matching localized display name associated with the application.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetLocalizedDisplayNameAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetLocalizedDisplayNameAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetLocalizedDisplayNameAsync_System_Object_CultureInfo_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetLocalizedDisplayNameAsync(System.Object,CultureInfo,CancellationToken)">GetLocalizedDisplayNameAsync(Object, CultureInfo, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves the localized display name associated with an application
and corresponding to the specified culture or one of its parents.
If no matching value can be found, the non-localized value is returned.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;string&gt; GetLocalizedDisplayNameAsync(object application, CultureInfo culture, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CultureInfo</span></td>
<td><span class="parametername">culture</span></td>
<td><p>The culture (typically <see cref="!:CultureInfo.CurrentUICulture"></see>).</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.String</span>&gt;</td>
<td><p>A <see cref="!:ValueTask&lt;TResult>"></see> that can be used to monitor the asynchronous operation,
whose result returns the matching localized display name associated with the application.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetPermissionsAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetPermissionsAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetPermissionsAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetPermissionsAsync(System.Object,CancellationToken)">GetPermissionsAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves the permissions associated with an application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;ImmutableArray&lt;string&gt;&gt; GetPermissionsAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">ImmutableArray</span>&lt;<span class="xref">System.String</span>&gt;&gt;</td>
<td><p>A <see cref="!:ValueTask&lt;TResult>"></see> that can be used to monitor the asynchronous operation,
whose result returns all the permissions associated with the application.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetPostLogoutRedirectUrisAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetPostLogoutRedirectUrisAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetPostLogoutRedirectUrisAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetPostLogoutRedirectUrisAsync(System.Object,CancellationToken)">GetPostLogoutRedirectUrisAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves the logout callback addresses associated with an application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;ImmutableArray&lt;string&gt;&gt; GetPostLogoutRedirectUrisAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">ImmutableArray</span>&lt;<span class="xref">System.String</span>&gt;&gt;</td>
<td><p>A <see cref="!:ValueTask&lt;TResult>"></see> that can be used to monitor the asynchronous operation,
whose result returns all the post_logout_redirect_uri associated with the application.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetPropertiesAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetPropertiesAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetPropertiesAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetPropertiesAsync(System.Object,CancellationToken)">GetPropertiesAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves the additional properties associated with an application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;ImmutableDictionary&lt;string, JsonElement&gt;&gt; GetPropertiesAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">ImmutableDictionary</span>&lt;<span class="xref">System.String</span>, <span class="xref">JsonElement</span>&gt;&gt;</td>
<td><p>A <see cref="!:ValueTask&lt;TResult>"></see> that can be used to monitor the asynchronous operation,
whose result returns all the additional properties associated with the application.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetRedirectUrisAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetRedirectUrisAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetRedirectUrisAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetRedirectUrisAsync(System.Object,CancellationToken)">GetRedirectUrisAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves the callback addresses associated with an application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;ImmutableArray&lt;string&gt;&gt; GetRedirectUrisAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">ImmutableArray</span>&lt;<span class="xref">System.String</span>&gt;&gt;</td>
<td><p>A <see cref="!:ValueTask&lt;TResult>"></see> that can be used to monitor the asynchronous operation,
whose result returns all the redirect_uri associated with the application.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetRequirementsAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetRequirementsAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_GetRequirementsAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.GetRequirementsAsync(System.Object,CancellationToken)">GetRequirementsAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Retrieves the requirements associated with an application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;ImmutableArray&lt;string&gt;&gt; GetRequirementsAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">ImmutableArray</span>&lt;<span class="xref">System.String</span>&gt;&gt;</td>
<td><p>A <see cref="!:ValueTask&lt;TResult>"></see> that can be used to monitor the asynchronous operation,
whose result returns all the requirements associated with the application.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_HasClientTypeAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.HasClientTypeAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_HasClientTypeAsync_System_Object_System_String_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.HasClientTypeAsync(System.Object,System.String,CancellationToken)">HasClientTypeAsync(Object, String, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Determines whether a given application has the specified client type.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;bool&gt; HasClientTypeAsync(object application, string type, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">type</span></td>
<td><p>The expected client type.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
<td><p><code>true</code> if the application has the specified client type, <code>false</code> otherwise.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_HasConsentTypeAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.HasConsentTypeAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_HasConsentTypeAsync_System_Object_System_String_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.HasConsentTypeAsync(System.Object,System.String,CancellationToken)">HasConsentTypeAsync(Object, String, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Determines whether a given application has the specified consent type.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;bool&gt; HasConsentTypeAsync(object application, string type, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">type</span></td>
<td><p>The expected consent type.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
<td><p><code>true</code> if the application has the specified consent type, <code>false</code> otherwise.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_HasPermissionAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.HasPermissionAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_HasPermissionAsync_System_Object_System_String_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.HasPermissionAsync(System.Object,System.String,CancellationToken)">HasPermissionAsync(Object, String, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Determines whether the specified permission has been granted to the application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;bool&gt; HasPermissionAsync(object application, string permission, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">permission</span></td>
<td><p>The permission.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
<td><p><code>true</code> if the application has been granted the specified permission, <code>false</code> otherwise.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_HasRequirementAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.HasRequirementAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_HasRequirementAsync_System_Object_System_String_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.HasRequirementAsync(System.Object,System.String,CancellationToken)">HasRequirementAsync(Object, String, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Determines whether the specified requirement has been enforced for the specified application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;bool&gt; HasRequirementAsync(object application, string requirement, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">requirement</span></td>
<td><p>The requirement.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
<td><p><code>true</code> if the requirement has been enforced for the specified application, <code>false</code> otherwise.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_ListAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.ListAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_ListAsync_System_Nullable_System_Int32__System_Nullable_System_Int32__CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.ListAsync(System.Nullable{System.Int32},System.Nullable{System.Int32},CancellationToken)">ListAsync(Nullable&lt;Int32&gt;, Nullable&lt;Int32&gt;, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Executes the specified query and returns all the corresponding elements.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">IAsyncEnumerable&lt;object&gt; ListAsync(int? count = default(int? ), int? offset = default(int? ), CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Nullable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
<td><span class="parametername">count</span></td>
<td><p>The number of results to return.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Nullable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
<td><span class="parametername">offset</span></td>
<td><p>The number of results to skip.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">IAsyncEnumerable</span>&lt;<span class="xref">System.Object</span>&gt;</td>
<td><p>All the elements returned when executing the specified query.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_ListAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.ListAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_ListAsync__1_Func_IQueryable_System_Object__IQueryable___0___CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.ListAsync``1(Func{IQueryable{System.Object},IQueryable{``0}},CancellationToken)">ListAsync&lt;TResult&gt;(Func&lt;IQueryable&lt;Object&gt;, IQueryable&lt;TResult&gt;&gt;, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Executes the specified query and returns all the corresponding elements.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">IAsyncEnumerable&lt;TResult&gt; ListAsync&lt;TResult&gt;(Func&lt;IQueryable&lt;object&gt;, IQueryable&lt;TResult&gt;&gt; query, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">Func</span>&lt;<span class="xref">IQueryable</span>&lt;<span class="xref">System.Object</span>&gt;, <span class="xref">IQueryable</span>&lt;TResult&gt;&gt;</td>
<td><span class="parametername">query</span></td>
<td><p>The query to execute.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">IAsyncEnumerable</span>&lt;TResult&gt;</td>
<td><p>All the elements returned when executing the specified query.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">TResult</span></td>
<td><p>The result type.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_ListAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.ListAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_ListAsync__2_Func_IQueryable_System_Object____0_IQueryable___1_____0_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.ListAsync``2(Func{IQueryable{System.Object},``0,IQueryable{``1}},``0,CancellationToken)">ListAsync&lt;TState, TResult&gt;(Func&lt;IQueryable&lt;Object&gt;, TState, IQueryable&lt;TResult&gt;&gt;, TState, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Executes the specified query and returns all the corresponding elements.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">IAsyncEnumerable&lt;TResult&gt; ListAsync&lt;TState, TResult&gt;(Func&lt;IQueryable&lt;object&gt;, TState, IQueryable&lt;TResult&gt;&gt; query, TState state, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">Func</span>&lt;<span class="xref">IQueryable</span>&lt;<span class="xref">System.Object</span>&gt;, TState, <span class="xref">IQueryable</span>&lt;TResult&gt;&gt;</td>
<td><span class="parametername">query</span></td>
<td><p>The query to execute.</p>
</td>
</tr>
<tr>
<td><span class="xref">TState</span></td>
<td><span class="parametername">state</span></td>
<td><p>The optional state.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">IAsyncEnumerable</span>&lt;TResult&gt;</td>
<td><p>All the elements returned when executing the specified query.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">TState</span></td>
<td><p>The state type.</p>
</td>
</tr>
<tr>
<td><span class="parametername">TResult</span></td>
<td><p>The result type.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_PopulateAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.PopulateAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_PopulateAsync_OpenIddict_Abstractions_OpenIddictApplicationDescriptor_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.PopulateAsync(OpenIddict.Abstractions.OpenIddictApplicationDescriptor,System.Object,CancellationToken)">PopulateAsync(OpenIddictApplicationDescriptor, Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Populates the specified descriptor using the properties exposed by the application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask PopulateAsync(OpenIddictApplicationDescriptor descriptor, object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="OpenIddict.Abstractions.OpenIddictApplicationDescriptor.html">OpenIddictApplicationDescriptor</a></td>
<td><span class="parametername">descriptor</span></td>
<td><p>The descriptor.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span></td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_PopulateAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.PopulateAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_PopulateAsync_System_Object_OpenIddict_Abstractions_OpenIddictApplicationDescriptor_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.PopulateAsync(System.Object,OpenIddict.Abstractions.OpenIddictApplicationDescriptor,CancellationToken)">PopulateAsync(Object, OpenIddictApplicationDescriptor, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Populates the application using the specified descriptor.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask PopulateAsync(object application, OpenIddictApplicationDescriptor descriptor, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="OpenIddict.Abstractions.OpenIddictApplicationDescriptor.html">OpenIddictApplicationDescriptor</a></td>
<td><span class="parametername">descriptor</span></td>
<td><p>The descriptor.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span></td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_UpdateAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.UpdateAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_UpdateAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.UpdateAsync(System.Object,CancellationToken)">UpdateAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Updates an existing application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask UpdateAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application to update.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span></td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_UpdateAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.UpdateAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_UpdateAsync_System_Object_OpenIddict_Abstractions_OpenIddictApplicationDescriptor_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.UpdateAsync(System.Object,OpenIddict.Abstractions.OpenIddictApplicationDescriptor,CancellationToken)">UpdateAsync(Object, OpenIddictApplicationDescriptor, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Updates an existing application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask UpdateAsync(object application, OpenIddictApplicationDescriptor descriptor, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application to update.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="OpenIddict.Abstractions.OpenIddictApplicationDescriptor.html">OpenIddictApplicationDescriptor</a></td>
<td><span class="parametername">descriptor</span></td>
<td><p>The descriptor used to update the application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span></td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_UpdateAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.UpdateAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_UpdateAsync_System_Object_System_String_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.UpdateAsync(System.Object,System.String,CancellationToken)">UpdateAsync(Object, String, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Updates an existing application and replaces the existing secret.
Note: the default implementation automatically hashes the client
secret before storing it in the database, for security reasons.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask UpdateAsync(object application, string secret, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application to update.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">secret</span></td>
<td><p>The client secret associated with the application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span></td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_ValidateAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.ValidateAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_ValidateAsync_System_Object_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.ValidateAsync(System.Object,CancellationToken)">ValidateAsync(Object, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Validates the application to ensure it&apos;s in a consistent state.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">IAsyncEnumerable&lt;ValidationResult&gt; ValidateAsync(object application, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">IAsyncEnumerable</span>&lt;<span class="xref">ValidationResult</span>&gt;</td>
<td><p>The validation error encountered when validating the application.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_ValidateClientSecretAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.ValidateClientSecretAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_ValidateClientSecretAsync_System_Object_System_String_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.ValidateClientSecretAsync(System.Object,System.String,CancellationToken)">ValidateClientSecretAsync(Object, String, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Validates the client_secret associated with an application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;bool&gt; ValidateClientSecretAsync(object application, string secret, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">secret</span></td>
<td><p>The secret that should be compared to the client_secret stored in the database.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation.</p>
</td>
</tr>
</tbody>
</table>
<a id="OpenIddict_Abstractions_IOpenIddictApplicationManager_ValidateRedirectUriAsync_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.ValidateRedirectUriAsync*"></a>
<h4 id="OpenIddict_Abstractions_IOpenIddictApplicationManager_ValidateRedirectUriAsync_System_Object_System_String_CancellationToken_" data-uid="OpenIddict.Abstractions.IOpenIddictApplicationManager.ValidateRedirectUriAsync(System.Object,System.String,CancellationToken)">ValidateRedirectUriAsync(Object, String, CancellationToken)</h4>
<div class="markdown level1 summary"><p>Validates the redirect_uri to ensure it&apos;s associated with an application.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ValueTask&lt;bool&gt; ValidateRedirectUriAsync(object application, string address, CancellationToken cancellationToken = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">application</span></td>
<td><p>The application.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">address</span></td>
<td><p>The address that should be compared to one of the redirect_uri stored in the database.</p>
</td>
</tr>
<tr>
<td><span class="xref">CancellationToken</span></td>
<td><span class="parametername">cancellationToken</span></td>
<td><p>The <see cref="!:CancellationToken"></see> that can be used to abort the operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">ValueTask</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
<td><p>A <see cref="!:ValueTask"></see> that can be used to monitor the asynchronous operation,
whose result returns a boolean indicating whether the redirect_uri was valid.</p>
</td>
</tr>
</tbody>
</table>
</article>
</div>
<div class="hidden-sm col-md-2" role="complementary">
<div class="sideaffix">
<div class="contribution">
<ul class="nav">
</ul>
</div>
<nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
<h5>In This Article</h5>
<div></div>
</nav>
</div>
</div>
</div>
</div>
<footer>
<div class="grad-bottom"></div>
<div class="footer">
<div class="container">
<span class="pull-right">
<a href="#top">Back to top</a>
</span>
<span>Generated by <strong>DocFX</strong></span>
</div>
</div>
</footer>
</div>
<script type="text/javascript" src="../styles/docfx.vendor.js"></script>
<script type="text/javascript" src="../styles/docfx.js"></script>
<script type="text/javascript" src="../styles/main.js"></script>
</body>
</html>