public ChangesPushContent(RavenDbApiController controller)
		{
			Connected = true;
			Id = controller.GetQueryStringValue("id");
			if (string.IsNullOrEmpty(Id))
				throw new ArgumentException("Id is mandatory");
		}
	    public IPrincipal GetUser(RavenDbApiController controller)
		{
            if (controller.WasAlreadyAuthorizedUsingSingleAuthToken)
            {
                return controller.User;
            }

			var hasApiKey = "True".Equals(controller.GetQueryStringValue("Has-Api-Key"), StringComparison.CurrentCultureIgnoreCase);
			var authHeader = controller.GetHeader("Authorization");
			var hasOAuthTokenInCookie = controller.HasCookie("OAuth-Token");
			if (hasApiKey || hasOAuthTokenInCookie ||
				string.IsNullOrEmpty(authHeader) == false && authHeader.StartsWith("Bearer "))
			{
				return oAuthRequestAuthorizer.GetUser(controller, hasApiKey);
			}
			return windowsRequestAuthorizer.GetUser(controller);
		}