def user_auth_token(self):
        """ GPGAuth Stage1 """

        # stage0 is a prequisite
        if not self.server_identity_is_verified:
            return False

        server_login_response = post_log_in(
            self,
            keyid=self.user_fingerprint
        )

        if not check_server_login_stage1_response(server_login_response):
            raise GPGAuthStage1Exception("Login endpoint wrongly formatted")

        # Get the encrypted User Auth Token
        encrypted_user_auth_token = unquote_plus(
            server_login_response.headers.get('X-GPGAuth-User-Auth-Token')
            .replace('\\\\', '\\')
        ).replace('\\ ', ' ')

        logger.debug('User token to decrypt: %s', encrypted_user_auth_token)
        logger.info('Decrypting the user authentication token; '
                    'password prompt expected')

        passphrase = None
        # For the sake of tests, allow one to set the passphrase onto
        # the object
        if hasattr(self, '_user_passphrase'):
            passphrase = self._user_passphrase

        user_auth_token = self.gpg.decrypt(encrypted_user_auth_token, always_trust=True, passphrase=passphrase)

        if not user_auth_token.ok:
            raise GPGAuthStage1Exception("Auth token decryption failed: %s", user_auth_token.status)

        logger.info('user_auth_token: %s', user_auth_token)
        return str(user_auth_token)