public async Task <IActionResult> Register([FromBody] UserDTO user) { var role = user.Role ?? "User"; var identityUser = Mapper.Map <User>(user); var tenant = await _tenantManager.GetTenantById(user.TenantId); if (tenant == null) { return(BadRequest(new BadRequestResponse(null, ExceptionKeyHelper.GetString(ExceptionKey.ERROR_CREATE)))); } identityUser.UserName = identityUser.GetUsername(tenant.Name, user.Email); var userResult = await _userManager.CreateAsync(identityUser, user.Password); if (userResult.Succeeded) { await _userManager.AddToRoleAsync(identityUser, role); var claims = new List <Claim>(); claims.Add(new Claim(JwtClaimTypes.Name, user.Name)); claims.Add(new Claim("tenant", tenant.Name)); //claims.Add(new Claim(JwtClaimTypes..ClientId, user.Name)); claims.Add(new Claim(JwtClaimTypes.Email, user.Email)); claims.Add(new Claim(JwtClaimTypes.Id, user.Id.ToString())); claims.Add(new Claim(JwtClaimTypes.Role, role)); await _userManager.AddClaimsAsync(identityUser, claims); return(CreatedAtAction("GetById", new { userId = user.Id }, new CreatedResponse(Mapper.Map <UserDTO>(identityUser), 1))); } return(BadRequest(new BadRequestResponse(null, ExceptionKeyHelper.GetString(ExceptionKey.ERROR_CREATE)))); }
public async Task <IActionResult> CreateClient([FromBody] ClientDTO client) { var createdClient = await _clientManager.Add(Mapper.Map <Client>(client), client.TenantId); if (createdClient.Item1 == null) { return(BadRequest(new BadRequestResponse(ModelState, ExceptionKeyHelper.GetString(createdClient.Item2.Value)))); } return(CreatedAtAction("GetById", new { clientId = createdClient.Item1.ClientId, tenantId = client.TenantId }, new CreatedResponse(Mapper.Map <ClientDTO>(createdClient.Item1), 1))); }
public async Task <IActionResult> Create([FromBody] TenantDTO tenant) { var createdTenant = await _tenantManager.Add(Mapper.Map <Tenant>(tenant)); if (createdTenant.Item1 == null) { return(BadRequest(new BadRequestResponse(ModelState, ExceptionKeyHelper.GetString(createdTenant.Item2.Value)))); } return(CreatedAtAction("GetById", new { id = createdTenant.Item1.Id }, new CreatedResponse(Mapper.Map <TenantDTO>(createdTenant.Item1), 1))); }
public async Task <IActionResult> CreateApiResource([FromBody] ApiResourceDTO apiResource) { var createdResource = await _apiResourceManager.Add(Mapper.Map <ApiResource>(apiResource)); if (createdResource.Item1 == null) { return(BadRequest(new BadRequestResponse(ModelState, ExceptionKeyHelper.GetString(createdResource.Item2.Value)))); } return(CreatedAtAction("GetByName", new { apiRessourceName = createdResource.Item1.Name }, new CreatedResponse(Mapper.Map <ApiResourceDTO>(createdResource.Item1), 1))); }