UI.Attributes.ClientIdCalculator.GetClientId C# (CSharp) Method

GetClientId() public method

public GetClientId ( HttpRequestMessage httpRequestBase, ApplicationUser applicationUser ) : string
httpRequestBase System.Net.Http.HttpRequestMessage
applicationUser ApplicationUser
return string
        public virtual string GetClientId(HttpRequestMessage httpRequestBase, ApplicationUser applicationUser)
        {
            CookieHeaderValue cookie = httpRequestBase.Headers.GetCookies(COOKIE_NAME_GOOGLE_ANALYTICS).FirstOrDefault();
            return cookie != null ? cookie[COOKIE_NAME_GOOGLE_ANALYTICS].Value : applicationUser.Id;
        }
    }

Same methods

ClientIdCalculator::GetClientId ( System httpRequestBase, ApplicationUser applicationUser ) : string

Usage Example

        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            var apiBaseController = actionContext.ControllerContext.Controller as ApiControllerBase;

            if (apiBaseController == null)
            {
                throw new InvalidOperationException("The ApiAuthentication attribute can only be applied to actions in an ApiController that extends ApiControllerBase.");
            }

            if (!actionContext.Request.Headers.Contains(AUTH_HEADER))
            {
                if (!AuthenticateOnly)
                {
                    actionContext.Response = actionContext.Request.CreateErrorResponse(
                        HttpStatusCode.BadRequest,
                        ERROR_MESSAGE_MISSING_AUTH_TOKEN_HEADER);
                }

                return;
            }

            string authHeader = actionContext.Request.Headers.GetValues(AUTH_HEADER).FirstOrDefault();

            if (string.IsNullOrWhiteSpace(authHeader))
            {
                if (!AuthenticateOnly)
                {
                    actionContext.Response = actionContext.Request.CreateErrorResponse(
                        HttpStatusCode.BadRequest,
                        ERROR_MESSAGE_INVALID_AUTH_TOKEN);
                }

                return;
            }

            ApplicationUser applicationUser = _authTokenValidator.ValidateAuthToken(authHeader);

            if (applicationUser == null)
            {
                if (!AuthenticateOnly)
                {
                    actionContext.Response = actionContext.Request.CreateErrorResponse(
                        HttpStatusCode.Unauthorized,
                        ERROR_MESSAGE_INVALID_AUTH_TOKEN);
                }

                return;
            }

            if (actionContext.ActionArguments.ContainsKey(PARAMETER_NAME_GAMING_GROUP_ID) &&
                (int)actionContext.ActionArguments[PARAMETER_NAME_GAMING_GROUP_ID] != applicationUser.CurrentGamingGroupId)
            {
                if (!AuthenticateOnly)
                {
                    actionContext.Response = actionContext.Request.CreateErrorResponse(
                        HttpStatusCode.Unauthorized,
                        string.Format(ERROR_MESSAGE_UNAUTHORIZED_TO_GAMING_GROUP,
                                      actionContext.ActionArguments[PARAMETER_NAME_GAMING_GROUP_ID]));

                    return;
                }
            }

            applicationUser.AnonymousClientId = _clientIdCalculator.GetClientId(actionContext.Request, applicationUser);

            apiBaseController.CurrentUser = applicationUser;
        }
ClientIdCalculator