Is the idea that the clamshell server will know about this key and talk directly to user-api in order to get tokens?

Either way, it seems like this is attempting to limit who can get tokens in an attempt to limit security, but it doesn't change the fact that once someone has gotten a token, it can be used for anything.  Longer term, I think I'd prefer a model where we don't care as much about who is asking for the token, but we have a set of permissions associated with each token so that we can have clamshell only request the permissions it needs, then if the token gets leaked there is a smaller area of effect.  This paragraph is more long-term though, so not really any sort of request for change.