diff --git a/BCS.BMC/src/BCS.BMC.Application/CompanyMasters/Dto/GetUrlDto.cs b/BCS.BMC/src/BCS.BMC.Application/CompanyMasters/Dto/GetUrlDto.cs new file mode 100644 index 0000000..775529a --- /dev/null +++ b/BCS.BMC/src/BCS.BMC.Application/CompanyMasters/Dto/GetUrlDto.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BCS.BMC.CompanyMasters.Dto +{ + public class GetUrlDto + { + public string InputUrl { get; set; } + } +} diff --git a/BCS.BMC/src/BCS.BMC.Web.Core/Controllers/TokenAuthController.cs b/BCS.BMC/src/BCS.BMC.Web.Core/Controllers/TokenAuthController.cs index bfad196..c879c20 100644 --- a/BCS.BMC/src/BCS.BMC.Web.Core/Controllers/TokenAuthController.cs +++ b/BCS.BMC/src/BCS.BMC.Web.Core/Controllers/TokenAuthController.cs @@ -17,6 +17,14 @@ using BCS.BMC.Authorization; using BCS.BMC.Authorization.Users; using BCS.BMC.Models.TokenAuth; using BCS.BMC.MultiTenancy; +//using System.Web.Mvc; +using BCS.BMC.CompanyMasters.Dto; +using System.Net; +using System.Net.Http; +using Newtonsoft.Json; +using System.Net.Http.Headers; +using BCS.BMC.BMC.CompanyMasters; +using Abp.Domain.Repositories; namespace BCS.BMC.Controllers { @@ -30,6 +38,7 @@ namespace BCS.BMC.Controllers private readonly IExternalAuthConfiguration _externalAuthConfiguration; private readonly IExternalAuthManager _externalAuthManager; private readonly UserRegistrationManager _userRegistrationManager; + private readonly IRepository _companyMaster; public TokenAuthController( LogInManager logInManager, @@ -38,7 +47,8 @@ namespace BCS.BMC.Controllers TokenAuthConfiguration configuration, IExternalAuthConfiguration externalAuthConfiguration, IExternalAuthManager externalAuthManager, - UserRegistrationManager userRegistrationManager) + UserRegistrationManager userRegistrationManager, + IRepository companyMaster) { _logInManager = logInManager; _tenantCache = tenantCache; @@ -47,6 +57,7 @@ namespace BCS.BMC.Controllers _externalAuthConfiguration = externalAuthConfiguration; _externalAuthManager = externalAuthManager; _userRegistrationManager = userRegistrationManager; + _companyMaster = companyMaster; } [HttpPost] @@ -232,5 +243,20 @@ namespace BCS.BMC.Controllers { return SimpleStringCipher.Instance.Encrypt(accessToken); } + + [HttpGet] + public async Task ValidateTenancy(GetUrlDto input) + { + if (input.InputUrl == null) + { + return BadRequest(); + } + var company = await _companyMaster.FirstOrDefaultAsync(x => x.Url == input.InputUrl.ToString()); + if (company == null) + { + return BadRequest(); + } + return Ok(); + } } }