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)); }
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)); }