コード例 #1
0
        public async Task <OrganizationSsoResponseModel> PostSso(Guid id, [FromBody] OrganizationSsoRequestModel model)
        {
            if (!await _currentContext.ManageSso(id))
            {
                throw new NotFoundException();
            }

            var organization = await _organizationRepository.GetByIdAsync(id);

            if (organization == null)
            {
                throw new NotFoundException();
            }

            var ssoConfig = await _ssoConfigRepository.GetByOrganizationIdAsync(id);

            if (ssoConfig == null)
            {
                ssoConfig = model.ToSsoConfig(id);
            }
            else
            {
                ssoConfig = model.ToSsoConfig(ssoConfig);
            }

            await _ssoConfigService.SaveAsync(ssoConfig);

            return(new OrganizationSsoResponseModel(organization, _globalSettings, ssoConfig));
        }
コード例 #2
0
        public async Task <IActionResult> Index(SsoConfigEditViewModel model)
        {
            var orgId = _enterprisePortalCurrentContext.SelectedOrganizationId;

            if (orgId == null)
            {
                return(Redirect("~/"));
            }

            if (!_enterprisePortalCurrentContext.SelectedOrganizationDetails.UseSso ||
                !_enterprisePortalCurrentContext.AdminForSelectedOrganization)
            {
                return(Redirect("~/"));
            }

            model.BuildLists(_i18nService);
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var ssoConfig = await _ssoConfigRepository.GetByOrganizationIdAsync(orgId.Value);

            if (ssoConfig == null)
            {
                ssoConfig = model.ToSsoConfig(orgId.GetValueOrDefault());
            }
            else
            {
                ssoConfig = model.ToSsoConfig(ssoConfig);
            }

            await _ssoConfigService.SaveAsync(ssoConfig);

            return(View(model));
        }