diff --git a/src/Console/Program.cs b/src/Console/Program.cs index 675eb5e4..332445e8 100644 --- a/src/Console/Program.cs +++ b/src/Console/Program.cs @@ -684,7 +684,7 @@ namespace Bit.Console Con.WriteLine("Users:"); foreach(var user in result.Users) { - Con.WriteLine(" {0}{1}", user.Email, user.Disabled ? " (disabled)" : null); + Con.WriteLine(" {0}{1}", user.Email ?? user.Id, user.Disabled ? " (disabled)" : null); } } else diff --git a/src/Core/Models/ImportRequest.cs b/src/Core/Models/ImportRequest.cs index 295e30b4..18b3c626 100644 --- a/src/Core/Models/ImportRequest.cs +++ b/src/Core/Models/ImportRequest.cs @@ -34,8 +34,10 @@ namespace Bit.Core.Models { Email = entry.Email; Disabled = entry.Disabled; + ExternalId = entry.Id; } + public string ExternalId { get; set; } public string Email { get; set; } public bool Disabled { get; set; } } diff --git a/src/Core/Services/AzureDirectoryService.cs b/src/Core/Services/AzureDirectoryService.cs index 2be6f2c2..7f725859 100644 --- a/src/Core/Services/AzureDirectoryService.cs +++ b/src/Core/Services/AzureDirectoryService.cs @@ -209,7 +209,12 @@ namespace Bit.Core.Services Disabled = !user.AccountEnabled.GetValueOrDefault(true) }; - if(entry?.Email?.Contains("#") ?? true) + object deleted; + if(user.AdditionalData.TryGetValue("@removed", out deleted) && deleted.ToString().Contains("changed")) + { + entry.Disabled = true; + } + else if(!entry.Disabled && (entry?.Email?.Contains("#") ?? true)) { continue; } diff --git a/src/Core/Utilities/Sync.cs b/src/Core/Utilities/Sync.cs index 6f3f884f..5e057f79 100644 --- a/src/Core/Utilities/Sync.cs +++ b/src/Core/Utilities/Sync.cs @@ -91,9 +91,9 @@ namespace Bit.Core.Utilities foreach(var user in usersInThisGroup) { - if(!group.Users.Contains(user.Email)) + if(!group.Users.Contains(user.Id)) { - group.Users.Add(user.Email); + group.Users.Add(user.Id); } } @@ -101,9 +101,9 @@ namespace Bit.Core.Utilities { foreach(var user in currentGroupsUsers) { - if(!group.Users.Contains(user.Email)) + if(!group.Users.Contains(user.Id)) { - group.Users.Add(user.Email); + group.Users.Add(user.Id); } }