多租户更改
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# keygen: API key generator
|
||||
|
||||
A command-line utility to generate an API key for [Tinode server](../server/)
|
||||
|
||||
**Parameters:**
|
||||
|
||||
* `sequence`: Sequential number of the API key. This value can be used to reject previously issued keys.
|
||||
* `isroot`: Currently unused. Intended to designate key of a system administrator.
|
||||
* `validate`: Key to validate: check previously issued key for validity.
|
||||
* `salt`: [HMAC](https://en.wikipedia.org/wiki/HMAC) salt, 32 random bytes base64 standard encoded; must be present for key validation; optional when generating the key: if missing, a cryptographically-strong salt will be automatically generated.
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
The API key is used to provide some protection from automatic scraping of server API and for identification of client applications.
|
||||
|
||||
* `API key` is used on the client side.
|
||||
* `HMAC salt` is used on the server side to verify the API key.
|
||||
|
||||
Run the generator:
|
||||
|
||||
```sh
|
||||
./keygen
|
||||
```
|
||||
|
||||
Sample output:
|
||||
|
||||
```text
|
||||
API key v1 seq1 [ordinary]: AQAAAAABAACGOIyP2vh5avSff5oVvMpk
|
||||
HMAC salt: TC0Jzr8f28kAspXrb4UYccJUJ63b7CSA16n1qMxxGpw=
|
||||
```
|
||||
|
||||
Copy `HMAC salt` to `api_key_salt` parameter in your server [config file](https://github.com/tinode/chat/blob/master/server/tinode.conf).
|
||||
Copy `API key` to the client applications:
|
||||
|
||||
* TinodeWeb: `API_KEY` in [config.js](https://github.com/tinode/webapp/blob/master/src/config.js)
|
||||
* Tindroid: `API_KEY` in [Cache.java](https://github.com/tinode/tindroid/blob/master/app/src/main/java/co/tinode/tindroid/Cache.java)
|
||||
* Tinodious: `kApiKey` in [SharedUtils.swift](https://github.com/tinode/ios/blob/master/TinodiosDB/SharedUtils.swift)
|
||||
|
||||
Rebuild the clients after changing the API key.
|
||||
|
||||
Reference in New Issue
Block a user