Class DapperResourceStore
- Namespace
- Fdyay.IdentityServer.Dapper.Stores
- Assembly
- Fdyay.IdentityServer.Dapper.dll
Dapper-backed resource store. Resources are persisted as JSON keyed by name.
public sealed class DapperResourceStore : IResourceStore
- Inheritance
-
DapperResourceStore
- Implements
- Inherited Members
Constructors
DapperResourceStore(IDbConnectionFactory)
Creates a resource store over the IdentityResources, ApiScopes and ApiResources tables.
public DapperResourceStore(IDbConnectionFactory connectionFactory)
Parameters
connectionFactoryIDbConnectionFactoryOpens a connection for each read.
Methods
FindApiResourcesByNameAsync(IEnumerable<string>, CancellationToken)
Gets API resources by resource name.
public Task<IEnumerable<ApiResource>> FindApiResourcesByNameAsync(IEnumerable<string> apiResourceNames, CancellationToken cancellationToken = default)
Parameters
apiResourceNamesIEnumerable<string>cancellationTokenCancellationToken
Returns
Remarks
Reads the ApiResources rows whose Name is one of apiResourceNames. Names with
no row are skipped, so a full miss is an empty sequence; an empty apiResourceNames returns one
without opening a connection.
FindApiResourcesByScopeNameAsync(IEnumerable<string>, CancellationToken)
Gets API resources that claim any of the given scope names.
public Task<IEnumerable<ApiResource>> FindApiResourcesByScopeNameAsync(IEnumerable<string> scopeNames, CancellationToken cancellationToken = default)
Parameters
scopeNamesIEnumerable<string>cancellationTokenCancellationToken
Returns
Remarks
Reads every ApiResources row and keeps those whose Scopes name any of
scopeNames, compared ordinally — the scopes live only inside the JSON, so there is no column
to filter on. No match is an empty sequence; an empty scopeNames returns one without opening a
connection.
FindApiScopesByNameAsync(IEnumerable<string>, CancellationToken)
Gets API scopes by scope name.
public Task<IEnumerable<ApiScope>> FindApiScopesByNameAsync(IEnumerable<string> scopeNames, CancellationToken cancellationToken = default)
Parameters
scopeNamesIEnumerable<string>cancellationTokenCancellationToken
Returns
Remarks
Reads the ApiScopes rows whose Name is one of scopeNames. Names with no row are
skipped, so a full miss is an empty sequence; an empty scopeNames returns one without opening
a connection.
FindIdentityResourcesByScopeNameAsync(IEnumerable<string>, CancellationToken)
Gets identity resources by scope name.
public Task<IEnumerable<IdentityResource>> FindIdentityResourcesByScopeNameAsync(IEnumerable<string> scopeNames, CancellationToken cancellationToken = default)
Parameters
scopeNamesIEnumerable<string>cancellationTokenCancellationToken
Returns
Remarks
Reads the IdentityResources rows whose Name is one of scopeNames. Names with no
row are skipped, so a full miss is an empty sequence; an empty scopeNames returns one without
opening a connection.
GetAllResourcesAsync(CancellationToken)
Gets all resources.
public Task<Resources> GetAllResourcesAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
Remarks
Reads every row of IdentityResources, ApiScopes and ApiResources on one connection. Empty
tables give empty collections, never null.