code: public function identifyTargetName($username, $nt_domain, ServerChallenge $server_challenge)
      {
          // If a domain name wasn't supplied, fall back to the server challenge's supplied value
          $target_name = $nt_domain ?: $server_challenge->getTargetName();
  
          /**
           * If the username is in the "UPN" (Kerberos) format, the target name should be empty
           *
           * @link https://msdn.microsoft.com/en-us/library/windows/desktop/aa380525(v=vs.85).aspx
           * @link http://davenport.sourceforge.net/ntlm.html#nameVariations
           */
          if (false !== strpos($username, static::USER_PRINCIPAL_NAME_SEPARATOR)) {
              $target_name = '';
          }
  
          return $target_name;
      }
docs: Identifies the "TargetName" of the intended authentication by inspecting
  some of the authentication details.
  
  @param string $username The user's "username".
  @param string $nt_domain The domain name of the NT user authenticating.
  @param ServerChallenge $server_challenge The value of a decoded NTLM
  server's "CHALLENGE_MESSAGE".
  @return string The identified "TargetName" (domain/server name) of the
  NT user authenticating.