The way Blockstack Auth currently works, is that it provides the calling application with a unique decentralized identifier. (DID) This identifier is a bitcoin address.
It can optionally provide a verified Blockstack ID.
One way to solve this problems is to have a unique identifier tied to the lifecycle of a name. The identifier is created when the name is registered and follows the name through transfers to different addresses until it is revoked or perhaps transferred with a special command that indicates it is changing ownership.