public async Task <IActionResult> PostSecret(int id, [FromBody] ApiSecretApiDto clientSecretApi) { var secretsDto = clientSecretApi.ToApiResourceApiModel <ApiSecretsDto>(); secretsDto.ApiResourceId = id; await _apiResourceService.AddApiSecretAsync(secretsDto); return(Ok()); }
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); }
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); }