Refactor: Read/write configuration data to a data file in the home directory, not from the project itself
The data.json
file with configuration data should be broken up and moved to the Indie Site data/configuration directory as follows:
Directory: ~/.indie/site
-
server-secret.json
:
- This is a secret
- Generated on first run of the app
- Never replaced/updated.
- Used to sign JSON Web Tokens (JWTs) for token-based authentication.
-
owner-keys.json
:
- Not a secret.
- Contains the encrypted private signing key, encrypted private signing key nonce, public signing key and derivedKeySalt. None of these is a secret.
- Generated during registration.
- Currently not patched/updated (initially we do not support changing the password)
- Used for public key authentication.
- Will also be used once we implement end-to-end encrypted private messages (we will be deriving x25519 keys for encryption from the ed25519 keys we currently use for signing).
Update: 1 & 2 implement by commit b910ba53
-
owner-settings.json
:
- Not a secret.
- Owner’s account/profile-related settings like name, bio, profile image, header image, and theme colour, etc.