public TenantInfo Find(int tenantId) { var tenant = _tenantCache.GetOrNull(tenantId); if (tenant == null) { return(null); } return(new TenantInfo(tenant.Id, tenant.TenancyName)); }
//[HttpGet] //public List<ExternalLoginProviderInfoModel> GetExternalAuthenticationProviders() //{ // return ObjectMapper.Map<List<ExternalLoginProviderInfoModel>>(_externalAuthConfiguration.Providers); //} //[HttpPost] //public async Task<ExternalAuthenticateResultModel> ExternalAuthenticate([FromBody] ExternalAuthenticateModel model) //{ // var externalUser = await GetExternalUserInfo(model); // var loginResult = await _logInManager.LoginAsync(new UserLoginInfo(model.AuthProvider, model.ProviderKey, model.AuthProvider), GetTenancyNameOrNull()); // switch (loginResult.Result) // { // case AbpLoginResultType.Success: // { // var accessToken = CreateAccessToken(CreateJwtClaims(loginResult.Identity)); // return new ExternalAuthenticateResultModel // { // AccessToken = accessToken, // EncryptedAccessToken = GetEncryptedAccessToken(accessToken), // ExpireInSeconds = (int)_configuration.Expiration.TotalSeconds // }; // } // case AbpLoginResultType.UnknownExternalLogin: // { // var newUser = await RegisterExternalUserAsync(externalUser); // if (!newUser.IsActive) // { // return new ExternalAuthenticateResultModel // { // WaitingForActivation = true // }; // } // // Try to login again with newly registered user! // loginResult = await _logInManager.LoginAsync(new UserLoginInfo(model.AuthProvider, model.ProviderKey, model.AuthProvider), GetTenancyNameOrNull()); // if (loginResult.Result != AbpLoginResultType.Success) // { // throw _abpLoginResultTypeHelper.CreateExceptionForFailedLoginAttempt( // loginResult.Result, // model.ProviderKey, // GetTenancyNameOrNull() // ); // } // return new ExternalAuthenticateResultModel // { // AccessToken = CreateAccessToken(CreateJwtClaims(loginResult.Identity)), // ExpireInSeconds = (int)_configuration.Expiration.TotalSeconds // }; // } // default: // { // throw _abpLoginResultTypeHelper.CreateExceptionForFailedLoginAttempt( // loginResult.Result, // model.ProviderKey, // GetTenancyNameOrNull() // ); // } // } //} //private async Task<User> RegisterExternalUserAsync(ExternalAuthUserInfo externalUser) //{ // var user = await _userRegistrationManager.RegisterAsync( // externalUser.Name, // externalUser.Surname, // externalUser.EmailAddress, // externalUser.EmailAddress, // Authorization.Users.User.CreateRandomPassword(), // true // ); // user.Logins = new List<UserLogin> // { // new UserLogin // { // LoginProvider = externalUser.Provider, // ProviderKey = externalUser.ProviderKey, // TenantId = user.TenantId // } // }; // await CurrentUnitOfWork.SaveChangesAsync(); // return user; //} //private async Task<ExternalAuthUserInfo> GetExternalUserInfo(ExternalAuthenticateModel model) //{ // var userInfo = await _externalAuthManager.GetUserInfo(model.AuthProvider, model.ProviderAccessCode); // if (userInfo.ProviderKey != model.ProviderKey) // { // throw new UserFriendlyException(L("CouldNotValidateExternalUser")); // } // return userInfo; //} private string GetTenancyNameOrNull() { if (!AbpSession.TenantId.HasValue) { return(null); } return(_tenantCache.GetOrNull(AbpSession.TenantId.Value)?.TenancyName); }