Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
In order to support quota, we need a way to identify clients. If security is enabled, we might be able to use secured identity inside client certificate. But a generalized client-id based approach would be better to cover scenario without security.
The proposal here is to utilize existing zookeeper auth protocol to accept client identity.
- The client id should be sent by client once connection is established.
- Sending client id is optional. Note that server needs to enable auth provider if client does send in client id auth request or request would be denied without auth provider on server side.
- client id is JSON withe client_id as mandatory field. Additional fields can be added like client contact information, client version...
- This client identity will be cached in server connection and attached to requests from the connection.