Beispiel #1
0
        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))));
        }
Beispiel #2
0
        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)));
        }
Beispiel #3
0
        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)));
        }