public async Task <IActionResult> Save([FromBody] SaveClientViewModel client) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Client clientM = _mapper.Map <Client>(client); var oldEntity = await _clientService.GetById(client.Id); if (oldEntity != null) { IdentityUser user = oldEntity.Identity; if (user.Email != client.Email) { user.Email = client.Email; user.UserName = client.Email; await _userManager.UpdateAsync(user); clientM.Identity = user; } await _clientService.Save(oldEntity, clientM); return(Ok(new { message = "Client updated" })); } else { clientM.Identity.SecurityStamp = Guid.NewGuid().ToString(); await _clientService.Save(oldEntity, clientM); return(Ok(new { message = "Client added" })); } }
public async Task <ActionResult <DefaultResponse <bool> > > Save([FromBody] SaveClientViewModel client) { if (!ModelState.IsValid) { NotifyModelStateErrors(); return(Response(false)); } await _clientAppService.Save(client); return(Response(true)); }
public async Task <ActionResult <Client> > Post([FromBody] SaveClientViewModel client) { if (!ModelState.IsValid) { NotifyModelStateErrors(); return(ModelStateErrorResponseError()); } await _clientAppService.Save(client); var newClient = await _clientAppService.GetClientDetails(client.ClientId); return(ResponsePost(nameof(GetClient), new { client = client.ClientId }, newClient)); }
public async Task <ActionResult <Client> > Post([FromBody] SaveClientViewModel clientVm) { if (!ModelState.IsValid) { return(BadRequest(new ValidationProblemDetails(ModelState))); } var client = await _clientRepository.FindByClientIdAsync(clientVm.Name); if (client == null) { client = await _clientRepository.InsertAsync( new Client( Guid.NewGuid(), clientVm.Name ) { ClientName = clientVm.Name, ProtocolType = "oidc", Description = clientVm.Name, AlwaysIncludeUserClaimsInIdToken = true, AllowOfflineAccess = true, AbsoluteRefreshTokenLifetime = 31536000, //365 days AccessTokenLifetime = 31536000, //365 days AuthorizationCodeLifetime = 300, IdentityTokenLifetime = 300, RequireConsent = false }, autoSave : true ); } foreach (var scope in clientVm.Scopes) { if (client.FindScope(scope) == null) { client.AddScope(scope); } } foreach (var grantType in clientVm.GrantTypes) { if (client.FindGrantType(grantType) == null) { client.AddGrantType(grantType); } } if (client.FindSecret(clientVm.Secret) == null) { client.AddSecret(clientVm.Secret); } if (clientVm.RedirectUri != null) { if (client.FindRedirectUri(clientVm.RedirectUri) == null) { client.AddRedirectUri(clientVm.RedirectUri); } } if (clientVm.PostLogoutRedirectUri != null) { if (client.FindPostLogoutRedirectUri(clientVm.PostLogoutRedirectUri) == null) { client.AddPostLogoutRedirectUri(clientVm.PostLogoutRedirectUri); } } if (clientVm.Permissions != null) { foreach (var permissionName in clientVm.Permissions) { if (await _permissionGrantRepository.FindAsync(permissionName, ClientPermissionValueProvider.ProviderName, clientVm.Name) != null) { continue; } await _permissionGrantRepository.InsertAsync( new PermissionGrant( GuidGenerator.Create(), permissionName, ClientPermissionValueProvider.ProviderName, clientVm.Name, null ) ); } } await _clientRepository.UpdateAsync(client); var newClient = await _clientRepository.GetAsync(client.Id, true); return(CreatedAtAction(nameof(GetClient), new { client = client.Id }, newClient)); }
public Task <bool> Save(SaveClientViewModel client) { var command = _mapper.Map <SaveClientCommand>(client); return(Bus.SendCommand(command)); }
public Task Save(SaveClientViewModel client) { throw new System.NotImplementedException(); }