コード例 #1
0
 private void btnCreate_Click(object sender, EventArgs e)
 {
     ActionHelper.Execute(delegate()
     {
         if (string.IsNullOrWhiteSpace(txtCertDN.Text) && string.IsNullOrWhiteSpace(txtCertFile.Text))
         {
             throw new Exception("Please select a certificate file or enter Certificate DN");
         }
         if (!string.IsNullOrWhiteSpace(txtCertDN.Text))
         {
             PopulateCertDN();
         }
         DialogResult = DialogResult.OK;
         Close();
     }, null);
 }
コード例 #2
0
        public bool Apply(object obj)
        {
            var dto    = obj as IdentityProviderDto;
            var result = false;
            var auth   = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_server, _tenantName);

            ActionHelper.Execute(delegate()
            {
                if (dto.IsSameAs(_provider))
                {
                    _service.IdentityProvider.Update(_server, _tenantName, dto, auth.Token);
                }
                result = true;
            }, auth);
            return(result);
        }
コード例 #3
0
 public void AddNewGroup(object sender, EventArgs e)
 {
     ActionHelper.Execute(delegate() {
         var form   = new AddGroupController();
         var result = NSApplication.SharedApplication.RunModalForWindow(form.Window);
         if (result == VMIdentityConstants.DIALOGOK)
         {
             var user = AddNewGroup(form.GroupDto);
             if (user != null)
             {
                 UIErrorHelper.ShowAlert("Group " + user.GroupName + " created successfully", "Information");
                 Refresh(sender, e);
             }
         }
     });
 }
コード例 #4
0
 public void DeleteGroup(GroupDto groupDto)
 {
     ActionHelper.Execute(delegate() {
         var serverDto = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto.ServerName);
         var success   = SnapInContext.Instance.ServiceGateway.Group.Delete(_serverDto, _tenantName, groupDto, serverDto.Token);
         if (success)
         {
             UIErrorHelper.ShowAlert("Group " + groupDto.GroupName + " deleted successfully", "Information");
         }
         else
         {
             UIErrorHelper.ShowAlert("Failed to delete Group " + groupDto.GroupName, "Information");
         }
         Refresh(this, EventArgs.Empty);
     });
 }
コード例 #5
0
 private void btnAddAssertionConsumerService_Click(object sender, EventArgs e)
 {
     ActionHelper.Execute(delegate
     {
         var form = new AddNewAssertionConsumerService();
         if (form.ShowDialog() == DialogResult.OK)
         {
             var service = (AssertionConsumerServiceDto)form.DataContext;
             var lstItem = new ListViewItem(new[] { service.Name, service.Index.ToString(), service.IsDefault ? "YES" : "NO", service.Endpoint, service.Binding })
             {
                 Tag = service
             };
             lstAssertionConsumerServices.Items.Add(lstItem);
         }
     }, null);
 }
コード例 #6
0
 private void btnAddSloService_Click(object sender, EventArgs e)
 {
     ActionHelper.Execute(delegate
     {
         var form = new AddNewServiceEndpoints();
         if (form.ShowDialog() == DialogResult.OK)
         {
             var service = (ServiceEndpointDto)form.DataContext;
             var lstItem = new ListViewItem(new[] { service.Name, service.Endpoint, service.Binding })
             {
                 Tag = service
             };
             lstSloServices.Items.Add(lstItem);
         }
     }, null);
 }
コード例 #7
0
 private void btnAddSignatureAlgorithm_Click(object sender, EventArgs e)
 {
     ActionHelper.Execute(delegate
     {
         var form = new AddNewSignatureAlgorithm();
         if (form.ShowDialog() == DialogResult.OK)
         {
             var service = (SignatureAlgorithmDto)form.DataContext;
             var lstItem = new ListViewItem(new[] { service.MaxKeySize.ToString(), service.MinKeySize.ToString(), service.Priority.ToString() })
             {
                 Tag = service
             };
             lstSignatureAlgorithms.Items.Add(lstItem);
         }
     }, null);
 }
コード例 #8
0
ファイル: NewExternalIdp.cs プロジェクト: wfu8/lightwave
 private void btnAddSubjectFormat_Click(object sender, EventArgs e)
 {
     ActionHelper.Execute(delegate
     {
         var form = new AddSubjectFormat();
         if (form.ShowDialog() == DialogResult.OK)
         {
             var item         = (SubjectFormatDto)form.DataContext;
             var listViewItem = new ListViewItem(new[] { item.Key, item.Value })
             {
                 Tag = item
             };
             lstSubjectFormat.Items.Add(listViewItem);
         }
     }, null);
 }
コード例 #9
0
 void ShowOidcClient()
 {
     if (lstOidcClients.SelectedItems.Count > 0)
     {
         var idp       = lstOidcClients.SelectedItems[0].Tag as OidcClientDto;
         var serverDto = GetServerDto();
         ActionHelper.Execute(delegate
         {
             var tenantName = GetTenantName();
             var service    = ScopeNodeExtensions.GetServiceGateway(serverDto.ServerName);
             var form       = new NewOidcClient(idp, service, serverDto, tenantName);
             form.ShowDialog();
         }, null);
         RefreshOidcClients();
     }
 }
コード例 #10
0
        public override void AwakeFromNib()
        {
            base.AwakeFromNib();
            SolutionUserDto            = SolutionUserDtoOriginal.DeepCopy();
            TxtName.StringValue        = SolutionUserDto.Name;
            TxtDescription.StringValue = string.IsNullOrEmpty(SolutionUserDto.Description)?string.Empty:SolutionUserDto.Description;
            cbDisabled.StringValue     = SolutionUserDto.Disabled ? "0" : "1";
            _certificate = new X509Certificate2(Encoding.ASCII.GetBytes(SolutionUserDto.Certificate.Encoded));
            ActionHelper.Execute(delegate() {
                TxtIssuer.StringValue    = _certificate.Issuer;
                TxtValidFrom.StringValue = _certificate.NotBefore.ToShortDateString();
                TxtValidTo.StringValue   = _certificate.NotAfter.ToShortDateString();
                TxtDn.StringValue        = _certificate.IssuerName.Format(true);
            });

            //Events
            this.BtnSave.Activated += OnClickSaveButton;

            this.BtnChangeCertificate.Activated += (object sender, EventArgs e) => {
                var openPanel = new NSOpenPanel();
                openPanel.ReleasedWhenClosed = true;
                openPanel.Prompt             = "Select file";

                var result = openPanel.RunModal();
                if (result == 1)
                {
                    var filePath = openPanel.Url.AbsoluteString.Replace("file://", string.Empty);
                    var cert1    = new X509Certificate2();
                    ActionHelper.Execute(delegate() {
                        cert1.Import(filePath);
                        TxtIssuer.StringValue    = cert1.Issuer;
                        TxtValidFrom.StringValue = cert1.NotBefore.ToShortDateString();
                        TxtValidTo.StringValue   = cert1.NotAfter.ToShortDateString();
                        TxtDn.StringValue        = cert1.IssuerName.Format(true);
                        _certificate             = cert1;
                    });
                    SolutionUserDto.Certificate.Encoded = _certificate.ToPem();
                }
            };

            BtnViewCertificate.Activated += (object sender, EventArgs e) =>
            {
                CertificateService.DisplayX509Certificate2(this, _certificate);
            };

            BtnSave.Hidden = !IsSystemDomain;
        }
コード例 #11
0
        protected override void OnAddPropertyPages(PropertyPageCollection propertyPageCollection)
        {
            base.OnAddPropertyPages(propertyPageCollection);
            var authTokenDto = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto, TenantName);

            ActionHelper.Execute(delegate
            {
                var service     = ScopeNodeExtensions.GetServiceGateway(ServerDto.ServerName);
                var groupDto    = Tag as GroupDto;
                var presenter   = new GroupPropertyDataManager(groupDto, service, ServerDto, TenantName, _domainName);
                var generalPage = new GroupGeneralProperty(presenter, groupDto, IsSystemDomain)
                {
                    Title = "General"
                };
                propertyPageCollection.Add(generalPage.Page);
            }, authTokenDto);
        }
コード例 #12
0
        void AddNewGroup()
        {
            var service      = this.GetServiceGateway();
            var authTokenDto = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto, _tenantName);

            ActionHelper.Execute(delegate
            {
                var groupForm = new NewGroupForm();
                if (this.SnapIn.Console.ShowDialog(groupForm) == DialogResult.OK)
                {
                    var group         = (GroupDto)groupForm.DataContext;
                    group.GroupDomain = _domainName;
                    var success       = service.Group.Create(ServerDto, TenantName, @group, authTokenDto.Token);
                    GroupsControl.RefreshGroups(string.Empty);
                }
            }, authTokenDto);
        }
コード例 #13
0
        public NSObject ObjectValueForTableColumn(NSTableView table, NSTableColumn col, int row)
        {
            var value = (NSString)string.Empty;

            ActionHelper.Execute(delegate() {
                if (Entries != null)
                {
                    var obj = (this.Entries [row]) as EventLogDto;

                    switch (col.Identifier)
                    {
                    case StatusColumnId:
                        value = (NSString)obj.Level.ToString();
                        break;

                    case EventTypeColumnId:
                        value = (NSString)obj.Type;
                        break;

                    case CorrelationIdColumnId:
                        value = (NSString)obj.CorrelationId;
                        break;

                    case AccountColumnId:
                        value = (NSString)obj.AccountName;
                        break;

                    case ProviderColumnId:
                        value = (NSString)obj.ProviderName;
                        break;

                    case StartColumnId:
                        value = (NSString)DateTimeHelper.UnixToWindowsMilliSecs(obj.Start).ToString("dd-MMM-yy hh:mm:ss");
                        break;

                    case DurationColumnId:
                        value = (NSString)obj.ElapsedMillis.ToString();
                        break;

                    default:
                        break;
                    }
                }
            });
            return(value);
        }
コード例 #14
0
 private void btnCreate_Click(object sender, EventArgs e)
 {
     if (IsValid())
     {
         var dto   = ViewToDto();
         var auths = SnapInContext.Instance.AuthTokenManager.GetAuthTokens(_serverDto);
         var auth  = auths[0];
         ActionHelper.Execute(delegate()
         {
             if (SnapInContext.Instance.ServiceGateway.Adf.LeaveActiveDirectory(_serverDto, dto, auth.Token))
             {
                 MMCDlgHelper.ShowWarning("Leave operation completed successfully. Please reboot the node/server for the changes to take effect");
                 Close();
             }
         }, auth);
     }
 }
コード例 #15
0
ファイル: ServerNode.cs プロジェクト: muaazsalagar/lightwave
 public void OnAddExistingTenant(object sender, EventArgs e)
 {
     ActionHelper.Execute(delegate() {
         var form   = new AddExistingTenantController();
         var result = NSApplication.SharedApplication.RunModalForWindow(form.Window);
         if (result == VMIdentityConstants.DIALOGOK)
         {
             var service   = SnapInContext.Instance.ServiceGateway;
             var tenantDto = form.TenantDto;
             var auth      = SnapInContext.Instance.AuthTokenManager.GetAuthToken(DisplayName);
             tenantDto     = service.Tenant.Get(auth.ServerDto, tenantDto.Name, auth.Token);
             AddTenantNode(auth, new TenantDto {
                 Name = tenantDto.Name
             });
         }
     });
 }
コード例 #16
0
 private void button5_Click(object sender, EventArgs e)
 {
     if (ValidateStep4())
     {
         var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto, TenantName);
         // Call probe
         ActionHelper.Execute(delegate()
         {
             var provider = ViewToDto();
             var result   = SnapInContext.Instance.ServiceGateway.IdentityProvider.Probe(ServerDto, TenantName, provider, auth.Token);
             if (result != null)
             {
                 MMCDlgHelper.ShowInformation("Test connection successful");
             }
         }, auth);
     }
 }
コード例 #17
0
ファイル: SolutionUsersNode.cs プロジェクト: wfu8/lightwave
 public void DeleteUser(SolutionUserDto userDto)
 {
     ActionHelper.Execute(delegate() {
         userDto.Domain = _domainName;
         var serverDto  = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto.ServerName);
         var success    = SnapInContext.Instance.ServiceGateway.SolutionUser.Delete(_serverDto, _tenantName, userDto, serverDto.Token);
         if (success)
         {
             UIErrorHelper.ShowAlert("Solution User " + userDto.Name + " deleted successfully", "Information");
         }
         else
         {
             UIErrorHelper.ShowAlert("Failed to delete Solution User " + userDto.Name, "Information");
         }
         Refresh(this, EventArgs.Empty);
     });
 }
コード例 #18
0
        private void GetSuperLoggingStatus()
        {
            importEventLogs = false;
            var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto, _tenant);

            ActionHelper.Execute(delegate
            {
                var eventLogStatus       = SnapInContext.Instance.ServiceGateway.SuperLogging.GetStatus(_serverDto, _tenant, auth.Token);
                txtEventsToCapture.Value = (decimal)eventLogStatus.Size;
                _status = eventLogStatus.Enabled;
                if (_status)
                {
                    RefreshView();
                }
            }, auth);
            SetSuperLoggingStatus(_status);
        }
コード例 #19
0
        public object GetData()
        {
            var originalUser = _user;
            var auth         = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto, _tenantName);

            ActionHelper.Execute(delegate()
            {
                var _orignialUserMembership = _service.User.GetUserGroups(_serverDto, _tenantName, _user, auth.Token);
                originalUser.Role           = _orignialUserMembership.Exists(x => x.GroupName == "Administrators") ? UserRole.Administrator
                    : _orignialUserMembership.Exists(x => x.GroupName == "Users") ? UserRole.RegularUser
                    : UserRole.GuestUser;
                originalUser.IsIdpAdmin = _orignialUserMembership.Exists(x => x.GroupName == "IdpProvisioningAdmin");
                originalUser.ActAsUsers = _orignialUserMembership.Exists(x => x.GroupName == "ActAsUsers");
            }, auth);
            _user = originalUser.DeepCopy();
            return(originalUser);
        }
コード例 #20
0
        public void OnClickSaveButton(object sender, EventArgs e)
        {
            SolutionUserDto.Description = TxtDescription.StringValue;
            SolutionUserDto.Disabled    = cbDisabled.StringValue == "1";

            ActionHelper.Execute(delegate() {
                if (SolutionUserDtoOriginal.Description != SolutionUserDto.Description ||
                    SolutionUserDtoOriginal.Disabled != SolutionUserDto.Disabled ||
                    SolutionUserDtoOriginal.Certificate.Encoded != SolutionUserDto.Certificate.Encoded)
                {
                    var service = SnapInContext.Instance.ServiceGateway;
                    var auth    = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto.ServerName);
                    service.SolutionUser.Update(ServerDto, TenantName, SolutionUserDto, auth.Token);
                    NSNotificationCenter.DefaultCenter.PostNotificationName("RefreshTableView", this);
                }
            });
        }
コード例 #21
0
        public void OnClickSaveButton(object sender, EventArgs e)
        {
            ActionHelper.Execute(delegate() {
                if (string.IsNullOrEmpty(TxtUrl.StringValue))
                {
                    UIErrorHelper.ShowAlert("Please enter valid Url", "Alert");
                }
                else if (string.IsNullOrEmpty(TxtCertificate.StringValue))
                {
                    UIErrorHelper.ShowAlert("Please enter valid Certificate path", "Alert");
                }
                else if (!string.IsNullOrEmpty(TxtCertificate.StringValue) && TxtCertificate.StringValue != "Certificate" &&
                         !System.IO.File.Exists(TxtCertificate.StringValue.Replace("file://", string.Empty)))
                {
                    UIErrorHelper.ShowAlert("Certificate path is not valid", "Alert");
                }
                else
                {
                    var encoded = string.Empty;
                    var cert    = new X509Certificate2();
                    ActionHelper.Execute(delegate() {
                        if (TxtCertificate.StringValue == "Certificate")
                        {
                            encoded = _certificate.ExportToPem();
                        }
                        else
                        {
                            cert.Import(TxtCertificate.StringValue.Replace("file://", string.Empty));
                            encoded = cert.ExportToPem();
                        }

                        RelyingPartyDto.Name        = RelyingPartyDtoOriginal.Name;
                        RelyingPartyDto.Certificate = new CertificateDto {
                            Encoded = encoded
                        };
                        RelyingPartyDto.Url = TxtUrl.StringValue;

                        var auth        = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto.ServerName);
                        RelyingPartyDto = SnapInContext.Instance.ServiceGateway.RelyingParty.Update(ServerDto, TenantName, RelyingPartyDto, auth.Token);

                        NSNotificationCenter.DefaultCenter.PostNotificationName("RefreshTableView", this);
                    });
                }
            });
        }
コード例 #22
0
 public override void WillDisplayCell(NSTableView tableView, NSObject cell,
                                      NSTableColumn tableColumn, nint row)
 {
     ActionHelper.Execute(delegate() {
         NSTextFieldCell textCell = cell as NSTextFieldCell;
         if (textCell != null)
         {
             var collection = ((HttpTransportDataSource)(_controller.HttpTransportTableView.DataSource)).HttpTransportCollection;
             if (collection != null)
             {
                 var item = collection [(int)row];
                 if (tableColumn.Identifier == "Method")
                 {
                     if (item.Method == "GET")
                     {
                         textCell.TextColor = NSColor.Magenta;
                     }
                     else if (item.Method == "POST")
                     {
                         textCell.TextColor = NSColor.Brown;
                     }
                     else if (item.Method == "PUT")
                     {
                         textCell.TextColor = NSColor.Blue;
                     }
                     else if (item.Method == "DELETE")
                     {
                         textCell.TextColor = NSColor.Orange;
                     }
                 }
                 else
                 {
                     if (tableColumn.Identifier == "Name" && !string.IsNullOrEmpty(item.Error))
                     {
                         textCell.TextColor = NSColor.Red;
                     }
                     else
                     {
                         textCell.TextColor = NSColor.Black;
                     }
                 }
             }
         }
     });
 }
コード例 #23
0
        protected override void OnDelete(SyncStatus status)
        {
            var deleted = false;

            ActionHelper.Execute(delegate
            {
                if (ErrorMessageDisplayHelper.Confirm("Remove Server " + _serverDto.ServerName + "?"))
                {
                    (Parent as SnapInNode).RemoveChild(_serverDto.ServerName);
                    SnapInContext.Instance.AuthTokenManager.RemoveAuthTokens(_serverDto.ServerName);
                    deleted = true;
                }
            }, null);
            if (deleted)
            {
                base.OnDelete(status);
            }
        }
コード例 #24
0
        protected override void  OnDelete(SyncStatus status)
        {
            if (!ErrorMessageDisplayHelper.Confirm("Delete domain " + _provider.Name + "?"))
            {
                return;
            }

            ActionHelper.Execute(delegate()
            {
                var serverDto = GetServerDTO();
                var service   = this.GetServiceGateway();
                var auth      = SnapInContext.Instance.AuthTokenManager.GetAuthToken(serverDto.ServerName);
                if (this.GetServiceGateway().IdentityProvider.Delete(serverDto, _tenantName, _provider.Name, auth.Token))
                {
                    Parent.Children.Remove(this);
                }
            });
        }
コード例 #25
0
 public void DeleteRelyingParty(RelyingPartyDto dto)
 {
     ActionHelper.Execute(delegate() {
         var serverDto = GetServerDto();
         var tenant    = GetTenant();
         var auth      = SnapInContext.Instance.AuthTokenManager.GetAuthToken(serverDto.ServerName);
         var success   = SnapInContext.Instance.ServiceGateway.RelyingParty.Delete(serverDto, tenant, dto, auth.Token);
         if (success)
         {
             UIErrorHelper.ShowAlert("Relying party " + dto.Name + " deleted successfully", "Information");
         }
         else
         {
             UIErrorHelper.ShowAlert("Failed to delete relying party " + dto.Name, "Information");
         }
         Refresh(this, EventArgs.Empty);
     });
 }
コード例 #26
0
 public void DeleteUser(UserDto userDto)
 {
     ActionHelper.Execute(delegate() {
         userDto.PersonDetails.UserPrincipalName = string.Format("{0}@{1}", userDto.Name, _systemDomain);
         var serverDto = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto.ServerName);
         var result    = SnapInContext.Instance.ServiceGateway.User.Delete(_serverDto, _tenantName, userDto, serverDto.Token);
         var success   = string.IsNullOrEmpty(result);
         if (success)
         {
             UIErrorHelper.ShowAlert("User " + userDto.Name + " deleted successfully", "Information");
         }
         else
         {
             UIErrorHelper.ShowAlert("Failed to delete User " + userDto.Name, "Information");
         }
         Refresh(this, EventArgs.Empty);
     });
 }
コード例 #27
0
        public GroupMembershipDto GetMembershipInfo()
        {
            GroupMembershipDto memberInfo = new GroupMembershipDto();
            var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_server, _tenantName);

            ActionHelper.Execute(delegate()
            {
                var userInfo      = _service.Group.GetMembers(_server, _tenantName, _groupDto, GroupMemberType.USER, auth.Token);
                memberInfo.Users  = userInfo.Users == null ? new List <UserDto>() : new List <UserDto>(userInfo.Users);
                userInfo          = _service.Group.GetMembers(_server, _tenantName, _groupDto, GroupMemberType.GROUP, auth.Token);
                memberInfo.Groups = userInfo.Groups == null ? new List <GroupDto>() : new List <GroupDto>(userInfo.Groups);
            }, auth);
            if (memberInfo == null)
            {
                memberInfo = new GroupMembershipDto();
            }
            return(memberInfo);
        }
コード例 #28
0
 public void DeleteExternalIdentityProvider(ExternalIdentityProviderDto dto)
 {
     ActionHelper.Execute(delegate() {
         var serverDto = GetServerDto();
         var tenant    = GetTenant();
         var auth      = SnapInContext.Instance.AuthTokenManager.GetAuthToken(serverDto.ServerName);
         var success   = SnapInContext.Instance.ServiceGateway.ExternalIdentityProvider.Delete(serverDto, tenant, dto, auth.Token);
         if (success)
         {
             UIErrorHelper.ShowAlert("External Identity Provider " + dto.EntityID + " deleted successfully", "Information");
         }
         else
         {
             UIErrorHelper.ShowAlert("Failed to delete External Identity Provider " + dto.EntityID, "Information");
         }
         Refresh(this, EventArgs.Empty);
     });
 }
コード例 #29
0
 private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (lstUsers.SelectedIndices.Count == 0)
         return;
     var user = lstUsers.SelectedItems[0].Tag as SolutionUserDto;
     string deleteUserMessage = "Delete user " + user.Name + " ? ";
     if (MMCDlgHelper.ShowConfirm(deleteUserMessage))
     {
         ActionHelper.Execute(delegate
           {
               Cursor.Current = Cursors.WaitCursor;
               var service = ScopeNodeExtensions.GetServiceGateway(_serverDto.ServerName);
               service.SolutionUser.Delete(_serverDto, GetTenantName(), user, _auth.Token);
               RefreshUsers(string.Empty);
           }, _auth);
         Cursor.Current = Cursors.Default;
     }
 }
コード例 #30
0
 private void btnCreate_Click(object sender, EventArgs e)
 {
     shouldClose = false;
     if (ValidateControls())
     {
         ViewToDataContext();
         var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto, _tenantName);
         ActionHelper.Execute(delegate
         {
             try
             {
                 var service       = ScopeNodeExtensions.GetServiceGateway(_serverDto.ServerName);
                 _userDto          = service.User.Create(_serverDto, _tenantName, _userDto, auth.Token);
                 shouldClose       = true;
                 this.DialogResult = DialogResult.OK;
                 Close();
             }
             catch (WebException exp)
             {
                 if (exp.Response is HttpWebResponse)
                 {
                     var response = exp.Response as HttpWebResponse;
                     if (response != null && response.StatusCode == HttpStatusCode.BadRequest && response.ContentType == "application/json")
                     {
                         var resp  = new StreamReader(response.GetResponseStream()).ReadToEnd();
                         var error = JsonConvert.Deserialize <AuthErrorDto>(resp);
                         if (error.Cause == "Constraint violation")
                         {
                             MMCDlgHelper.ShowError("Password does not match the password policy set on the tenant. Check tenant configuration for password policy or contact administrator");
                         }
                         else
                         {
                             MMCDlgHelper.ShowError(error.Details + " Cause - " + error.Cause);
                         }
                     }
                     else
                     {
                         throw exp;
                     }
                 }
             }
         }, auth);
     }
 }