class_docstr: Implementation of ZAP authentication for zmq connections.
  
  Note:
  
  - libzmq provides four levels of security: default NULL (which the Authenticator does
    not see), and authenticated NULL, PLAIN, CURVE, and GSSAPI, which the Authenticator can see.
  - until you add policies, all incoming NULL connections are allowed.
    (classic ZeroMQ behavior), and all PLAIN and CURVE connections are denied.
  - GSSAPI requires no configuration.
docstr: Return the User-Id corresponding to a CURVE client's public key
  
  Default implementation uses the z85-encoding of the public key.
  
  Override to define a custom mapping of public key : user-id
  
  This is only called on successful authentication.
  
  Parameters
  ----------
  client_public_key: bytes
      The client public key used for the given message
  
  Returns
  -------
  user_id: unicode
      The user ID as text
docstr_tok: ["Return","the","User-Id","corresponding","to","a","CURVE","client","'s","public","key","Default","implementation","uses","the","z85-encoding","of","the","public","key",".","Override","to","define","a","custom","mapping","of","public","key",":","user-id","This","is","only","called","on","successful","authentication",".","Parameters","--","--","--","--","--","client_public_key",":","bytes","The","client","public","key","used","for","the","given","message","Returns","--","--","--","-","user_id",":","unicode","The","user","ID","as","text"]
code: def curve_user_id(self, client_public_key):
      """Return the User-Id corresponding to a CURVE client's public key
  
      Default implementation uses the z85-encoding of the public key.
  
      Override to define a custom mapping of public key : user-id
  
      This is only called on successful authentication.
  
      Parameters
      ----------
      client_public_key: bytes
          The client public key used for the given message
  
      Returns
      -------
      user_id: unicode
          The user ID as text
      """
      return z85.encode(client_public_key).decode("ascii")
  
imports: import logging
  import zmq
  from zmq.utils import z85
  from zmq.utils.strtypes import bytes, unicode, b, u
  from zmq.error import _check_version
  from .certs import load_certificates
label_desc: Use image node_id 9 for calling the Authenticator obj's underlying member method code with example usage: obj.curve_user_id(client_public_key) and returns: z85