Получить tenantId для мобильного приложения (ASP.NET Boilerplate) - PullRequest
0 голосов
/ 10 октября 2019

Я использую шаблон asp.net в качестве веб-проекта и бэк-энда для мобильных приложений.

Приложение является мультитенантным.

У меня есть метод для проверки кода мобильного доступа.

Вот код

[AllowAnonymous]
        [ProducesResponseType(typeof(UserDataModel), 200)]
        [ProducesResponseType(401)]
        [HttpPost]
        public async Task<IActionResult> ValidateMobileAccessCode(MobileInvitationCodeInput input)
        {
            var tenant = await _tenantRepository.GetAll().Where(x => x.Id == AbpSession.TenantId).FirstOrDefaultAsync();
            var userId = await _userMobileAccessCodeService.ValidateCodeAndGetUserIdAsync(input.CodeValue);
            if (userId == null)
            {
                return Unauthorized();
            }

            var user = await _userManager.GetUserOrNullAsync(new UserIdentifier(AbpSession.TenantId, userId.Value));
            return Ok(new UserDataModel
            {
                UserId = userId.Value,
                CodeValue = input.CodeValue,
                Name = user.FullName,
                EmailAddress = user.EmailAddress,
                CompanyName = tenant == null ? "Host tenant" : tenant.TenancyName
            });
        }

Но эта строка var tenant = await _tenantRepository.GetAll().Where(x => x.Id == AbpSession.TenantId).FirstOrDefaultAsync(); вернет ноль, так как у меня нет сессии в мобильном приложении.

Как получить идентификатор арендатора длямобильное приложение?

Я пытался найти решение по документам, но безуспешно

...