public void Authorize(Uri targetAddress) { if (targetAddress == null) { throw new ArgumentNullException(nameof(targetAddress)); } string target = targetAddress.Host + targetAddress.AbsolutePath; if (!target.StartsWith(Audience.TrimEnd(new char[] { '/' }), StringComparison.OrdinalIgnoreCase)) { throw new UnauthorizedAccessException("Invalid target audience"); } }