Inherits: ICredentialStore, IReconfigurable
Description
The MemoryCredentialStore class is used to create credential stores that keep their contained credentials in memory.
Configuration parameters
- [credential key 1]:
- … : credential parameters for key 1
- [credential key 2]:
- … : credential parameters for key N
- … :
References
- *:credential-store:*:*:1.0 - (optional) Credential stores to resolve credentials
Constructors
Creates a new instance of the credential store.
public
MemoryCredentialStore(ConfigParams config)
- config: ConfigParams - (optional) configuration with credential parameters.
Creates a new instance of the credential store.
public
MemoryCredentialStore()
Instance methods
Configure
Configures component by passing configuration parameters.
public virtual
void Configure(ConfigParams config)
- config: ConfigParams - configuration parameters to be set.
LookupAsync
Lookups credential parameters by its key.
public
Task<CredentialParams> LookupAsync(IContext context, string key)
- context: IContext - (optional) a context to trace execution through a call chain.
- key: string - a key to uniquely identify the credential.
- returns: Task<CredentialParams> - found credential parameters or null if nothing was found
ReadCredentials
Reads credentials from configuration parameters. Each section represents an individual CredentialParams.
public
void ReadCredentials(ConfigParams config)
- config: ConfigParams - configuration parameters to be read
StoreAsync
Stores credential parameters into the store.
public
Task StoreAsync(IContext context, string key, CredentialParams credential)
- context: IContext - (optional) a context to trace execution through a call chain.
- key: string - key to uniquely identify the credential parameters.
- credential: CredentialParams - credential parameters to be stored.
Examples
var config = ConfigParams.FromTuples(
"key1.user", "jdoe",
"key1.pass", "pass123",
"key2.user", "bsmith",
"key2.pass", "mypass"
);
var credentialStore = new MemoryCredentialStore();
credentialStore.ReadCredentials(config);
credentialStore.LookupAsync("123", "key1");