If we follow this model, we will be enforcing the passing of userId to the acquireToken calls. For a single-user application, the expectation is that the developer always calls acquireToken without userId, even for cases when the server provides userId. Internally, we should be able to handle such calling pattern. The iOS library returns an error if it detects that we have more than one user in the cache and userId is not specified.