Exemplo n.º 1
0
        private string MaskPassword(WebMessage message)
        {
            // OAuth login
            if (message.AbsolutePath.StartsWith(_serviceConfigManager.GetLoginTokenFragments()) &&
                message.Details.Contains("grant_type=password"))
            {
                string payload = message.Details;
                var    parts   = payload.Split('&');
                var    builder = new StringBuilder();

                for (var index = 0; index < parts.Length; index++)
                {
                    if (parts[index].StartsWith("password="******"password=XXXX";
                    }
                    builder.Append(parts[index]);
                    if (index != parts.Length - 1)
                    {
                        builder.Append("&");
                    }
                }
                return(builder.ToString());
            }

            // Add New Tenant
            if (message.AbsolutePath.EndsWith(_serviceConfigManager.GetTenantString()) && message.Method == "POST" && message.Details.Contains("credentials"))
            {
                var index   = message.Details.IndexOf("password");
                var end     = message.Details.Substring(index).IndexOf(",");
                var payload = message.Details.Substring(0, index) + "password\":\"XXXX\"" + message.Details.Substring(index + end);
                return(payload);
            }

            // Add New User
            if (message.AbsolutePath.EndsWith(_serviceConfigManager.GetUsersString()) && message.Method == "POST" && message.Details.Contains("passwordDetails"))
            {
                var index   = message.Details.IndexOf("passwordDetails");
                var payload = message.Details.Substring(0, index) + "passwordDetails:{\"password\":\"XXXX\"}}";
                return(payload);
            }

            // Add New External Domain
            if (message.AbsolutePath.EndsWith(_serviceConfigManager.GetProvidersString()) && message.Method == "POST" && !message.AbsolutePath.StartsWith("/idm/post"))
            {
                // Message payload will be like
                var index   = message.Details.IndexOf("password");
                var end     = message.Details.Substring(index).IndexOf(",");
                var payload = message.Details.Substring(0, index) + "\"password\"=\"XXXX\"" + message.Details.Substring(index + end);
                return(payload);
            }
            return(message.Details);
        }