remotestorage-util-credentials-store
v1.2.0
Published
Facilitates encryption and storage of credentials
Downloads
6
Maintainers
Readme
CredentialsStore
Kind: global class
new CredentialsStore(name, privClient)
This rs.js module utility class provides a getConfig
and a setConfig
function which you can directly use in your module. It also deals with
optional client-side encryption, and exposes a change event for the config
you store in it. It assumes your module declares a type called config
using BaseClient.declareType
. Other than that, you will be able to pretty
much expose the three methods directly on your module.
| Param | Type | Description |
| --- | --- | --- |
| name | String | the name of the module in which you are using it, but without the "-credentials" suffix. |
| privClient | Object | The private BaseClient
for your module. You get this from the callback call in remoteStorage.defineModule
|
credentialsStore.setConfig(pwd, config)
Set the config/credentials
Kind: instance method of CredentialsStore
Throws:
- An error with one of these messages:
- 'config should be an object'
- 'Schema Not Found' (if you didn't call declareType first)
- 'Please follow the config schema - (followed by the schema from your declareType)'
| Param | Type | Description | | --- | --- | --- | | pwd | String | String value of the password for client-side encryption, or undefined. | | config | Object | The config/credentials to be saved. |
credentialsStore.getConfig(pwd, maxAge)
Get the config/credentials
Kind: instance method of CredentialsStore
Throws:
- An error with one of these messages:
- 'could not decrypt (moduleName)-config with that password'
- 'could not parse (moduleName)-config as unencrypted JSON'
- '(moduleName)-config is encrypted, please specify a password for decryption'
- '(moduleName)-config is not encrypted, or encrypted with a different algorithm'
| Param | Type | Description |
| --- | --- | --- |
| pwd | String | String value of the password for client-side encryption, or undefined. |
| maxAge | String | maxAge
to pass to baseClient.getFile
|
credentialsStore.onceConfig(pwd)
Get the config/credentials, or wait for it to become available
Kind: instance method of CredentialsStore
Throws:
- An error with one of these messages:
- 'could not decrypt (moduleName)-config with that password'
- 'could not parse (moduleName)-config as unencrypted JSON'
- '(moduleName)-config is encrypted, please specify a password for decryption'
- '(moduleName)-config is not encrypted, or encrypted with a different algorithm'
| Param | Type | Description | | --- | --- | --- | | pwd | String | String value of the password for client-side encryption, or undefined. |
credentialsStore.on(eventName, handler)
Register an event handler. Currently only used for change events.
Kind: instance method of CredentialsStore
| Param | Type | Description | | --- | --- | --- | | eventName | String | Has to be the String 'change' | | handler | function | The function that should be called when the config changes. It will be called without any arguments. |