// Get user id for docs site users.
        protected string TryGetUserId()
        {
            if (User.Identity != null && User.Identity.IsAuthenticated)
            {
                var docsUserIdClaim = User.Claims.FirstOrDefault(x => x.Type == AuthenticationConstants.DocsUserId);
                if (docsUserIdClaim != null)
                {
                    var userId = ClaimHelper.ExtractUserIdFromClaim(docsUserIdClaim.Value);
                    if (!string.IsNullOrEmpty(userId))
                    {
                        return(userId);
                    }
                }
            }

            return(null);
        }
Beispiel #2
0
        public void Process(ITelemetry item)
        {
            if (item is RequestTelemetry requestTelemetry)
            {
                var httpContext = _httpContextAccessor.HttpContext;
                if (httpContext.User?.Claims?.Count() > 0)
                {
                    var docsUserIdClaim = httpContext.User.Claims.FirstOrDefault(x => x.Type == AuthenticationConstants.DocsUserId);
                    if (docsUserIdClaim != null)
                    {
                        var userId = ClaimHelper.ExtractUserIdFromClaim(docsUserIdClaim.Value);
                        requestTelemetry.Context.User.Id = userId;
                        requestTelemetry.Context.User.AuthenticatedUserId = userId;
                    }
                }
            }

            Next.Process(item);
        }