diff --git a/src/DotNetEd.CoreAdmin/Controllers/AccountController.cs b/src/DotNetEd.CoreAdmin/Controllers/AccountController.cs index 7451be5..eba4a27 100644 --- a/src/DotNetEd.CoreAdmin/Controllers/AccountController.cs +++ b/src/DotNetEd.CoreAdmin/Controllers/AccountController.cs @@ -135,56 +135,15 @@ private async Task> GetMasterUser(string token) var masterUserJson = await masterUserResponse.Content.ReadAsStringAsync(); var masterUser = JsonConvert.DeserializeObject(masterUserJson); - string mfaCode = (string)masterUser["mfaCode"]; - var masterUserId = (long)masterUser["id"]; - if (masterUserId == options.SuperAdminId) + long seat = (long)masterUser["seat"]; + long adminSeat = (long)masterUser["adminSeat"]; + if (adminSeat == 1 && seat == 2) // Check if user is amplifi admin { - return Tuple.Create(true, mfaCode); + return Tuple.Create(true, (string)masterUser["mfaCode"]); } - var tenants = masterUser["tenants"]; - string tenantId = ""; - if (tenants.Any()) - { - foreach (var tenant in tenants) - { - if ((bool)tenant["isDefault"]) - { - tenantId = (string)tenant["id"]; - } - } - } - - if (tenantId == "") - { - logger.Log(LogLevel.Information, "User doesn't have default tenant."); - return Tuple.Create(false, ""); - } - - //Get user role - client.DefaultRequestHeaders.Add("TenantId", tenantId); - var permissionResponse = await client.GetAsync("/api/v1/login/permission_details"); - if (!permissionResponse.IsSuccessStatusCode) - { - logger.Log(LogLevel.Warning, "/api/v1/login/permission_details hasn't returned successfull status code."); - return Tuple.Create(false, ""); - } - - var permissionResponseJson = await permissionResponse.Content.ReadAsStringAsync(); - var permissionsAndRoles = JsonConvert.DeserializeObject(permissionResponseJson); - var roles = permissionsAndRoles["roles"]; - if (roles.Any()) - { - var roleName = roles[0]["name"].ToString(); - if (roleName.Equals(options.AllowedRole, StringComparison.InvariantCultureIgnoreCase)) - { - return Tuple.Create(true, mfaCode); - } - } - - logger.Log(LogLevel.Information, "User doesn't have products.allaccess permission to access admin panel."); - + logger.Log(LogLevel.Information, "User must be amplifi admin to access admin panel."); return Tuple.Create(false, ""); } } diff --git a/src/DotNetEd.CoreAdmin/CoreAdminSecurityOptions.cs b/src/DotNetEd.CoreAdmin/CoreAdminSecurityOptions.cs index 419501c..c521f9d 100644 --- a/src/DotNetEd.CoreAdmin/CoreAdminSecurityOptions.cs +++ b/src/DotNetEd.CoreAdmin/CoreAdminSecurityOptions.cs @@ -21,8 +21,6 @@ public class CoreAdminOptions public string FirebaseApiKey { get; set; } public Dictionary>> Context2ConnectionStrings { get; set; } public string ApiUrl { get; set; } - public string AllowedRole { get; set; } - public long SuperAdminId { get; set; } public CoreAdminOptions() { diff --git a/src/DotNetEd.CoreAdmin/DotNetEd.CoreAdmin.csproj b/src/DotNetEd.CoreAdmin/DotNetEd.CoreAdmin.csproj index 466b6eb..c1936c8 100644 --- a/src/DotNetEd.CoreAdmin/DotNetEd.CoreAdmin.csproj +++ b/src/DotNetEd.CoreAdmin/DotNetEd.CoreAdmin.csproj @@ -6,7 +6,7 @@ false false AmplifiAdminPortal - 3.0.3 + 3.0.4 Automagically add an Admin Panel to your .NET 8 web app. Core Admin Panel for ASP.NET Core amplifi