public async Task <IActionResult> PostSecret(int id, [FromBody] ApiSecretApiDto clientSecretApi)
        {
            var secretsDto = clientSecretApi.ToApiResourceApiModel <ApiSecretsDto>();

            secretsDto.ApiResourceId = id;

            await _apiResourceService.AddApiSecretAsync(secretsDto);

            return(Ok());
        }
Exemplo n.º 2
0
        public async Task CreateResourceSecret(int id, string type, string description, string value)
        {
            string   hash    = value.Sha256();
            DateTime?expired = DateTime.Now.AddMonths(1);

            var req = new ApiSecretApiDto(type, description, hash, expired);

            var result = await apiKYC.CreateResourceSecret(id, req);

            Assert.True(result);
        }
Exemplo n.º 3
0
        public async Task <bool> CreateResourceSecret(int?id, ApiSecretApiDto secret)
        {
            // discover endpoints from metadata
            var client = new HttpClient();
            var disco  = await client.GetDiscoveryDocumentAsync(IdentityEndpoint.Discovery);

            if (disco.IsError)
            {
                return(false);
            }

            // request token
            var req = new PasswordTokenRequest
            {
                Address = disco.TokenEndpoint,

                ClientId     = IdentityEndpoint.ClientID,
                ClientSecret = IdentityEndpoint.Secret,
                Scope        = IdentityEndpoint.Scopes,
                UserName     = IdentityEndpoint.UserName,
                Password     = IdentityEndpoint.Password
            };
            var tokenResponse = await client.RequestPasswordTokenAsync(req);

            if (tokenResponse.IsError)
            {
                return(false);
            }

            var apiClient = new HttpClient();

            apiClient.SetBearerToken(tokenResponse.AccessToken);

            var dataJson      = JsonSerializer.Serialize(secret);
            var stringContent = new StringContent(dataJson, Encoding.UTF8, "application/json");

            var response = await apiClient.PostAsync(IdentityEndpoint.ResourceUri + $"/{id.Value}/Secrets", stringContent);

            return(response.IsSuccessStatusCode);
        }