A connection's clientId, once set, is immutable. 


It is possible however possible to have a late initialisation of clientId . This can be either because the library is instanced with an authCallback, say, and the clientId  is only known when the first authCallback  is complete; or because the library only has an opaque token string, and only learns the clientId  when it gets a response from the server that has processed the token string. In both of these cases, the "immutable" requirement is satisfied, because the clientId  gets set as part of the client's first interaction with the server.