Exemplo n.º 1
0
        public async Task CreateApiSecret(string name, ApiSecretCreateDto dto)
        {
            EnsureModelValid(dto);

            ApiResource resource = await _apiResourceRepository
                                   .Query()
                                   .Include(r => r.Secrets)
                                   .FirstOrDefaultAsync(r => r.Name.Equals(name, StringComparison.OrdinalIgnoreCase));

            if (resource == null)
            {
                throw new BadRequestException($"No ApiResource with name '{name}' found.");
            }

            resource.Secrets.Add(new ApiSecret
            {
                Description = dto.Description,
                Value       = _secretGenerator.Hash(dto.Secret),
                Expiration  = DateTime.Now.AddYears(Constants.ApiSecretLifeTimeInYear)
            });

            await _apiResourceRepository.SaveChangesAsync();
        }
        public async Task <IActionResult> CreateSecret(string name, [FromBody] ApiSecretCreateDto form)
        {
            await _apiResourceService.CreateApiSecret(name, form);

            return(Ok());
        }