Authentication 

Description 

Pass client credentials to the server's security manager.  Credentials are passed in as key, value pairs of strings and are interpreted by the security manager on the server.  For a default Shiro security manager, the credentials might be as simple as 

{{"user", "bob"}, {"password", "bobspassword"}}


Request

AuthenticationRequest
Field NameData typeDescriptionMandatory?
credentialsmap<string,string>A set of key, value properties defined by the server's security managerY

Response 

AuthenticationResponse
Field NameData typeDescriptionMandatory?
authenticatedbooleanWhether authenticated succeeded.Y

Expected behavior 

  • If authentication is required, after the connection has completed handshaking, any request other than authentication will fail with an AUTHENTICATION_FAILED error.

  • Once a connection is authenticated with user credentials, any operations that user doesn't have permission for will fail with AUTHORIZATION_FAILED.
  • It's not possible to change the credentials associated with a connection. Changing credentials requires creating a new connection.

Errors

Error Code
Error Definition
Error Description
1103
UNSUPPORTED_AUTHENTICATION_MODE
The server's security manager is not compatible with protobuf authentication
1202
ALREADY_AUTHENTICATED
The connection has already been authenticated
1203
AUTHENTICATION_NOT_SUPPORTED
The server doesn't support authentication
  • No labels